brucefu
V2EX  ›  问与答

公司不让用 Lombok,这么反人类,该怎么说服领导。二线互联网公司

  •  
  •   brucefu · Nov 28, 2019 · 9117 views
    This topic created in 2536 days ago, the information mentioned may be changed or developed.
    71 replies  •  2019-12-02 09:15:14 +08:00
    micean
    micean
    Nov 28, 2019❤️3
    1
    不如说服自己不用
    HuHui
    HuHui
    Nov 28, 2019
    2
    工资给太多了吗
    lockelee
    lockelee
    Nov 28, 2019 via iPhone❤️3
    3
    公司领导还管这个,居然懂技术呢
    lbp0200
    lbp0200
    Nov 28, 2019
    4
    面向工资编程?不用 Lombok:逃离 Java
    peyppicp
    peyppicp
    Nov 28, 2019❤️2
    5
    用 public 修饰🐶
    springz
    springz
    Nov 28, 2019❤️1
    6
    上 Kotlin
    kkkkkrua
    kkkkkrua
    Nov 28, 2019 via iPhone
    7
    idea 的生成也可以吧,差不多的
    ysn2233
    ysn2233
    Nov 28, 2019
    8
    不如用 Public
    x66
    x66
    Nov 28, 2019
    9
    那就用 public
    lhx2008
    lhx2008
    Nov 28, 2019 via Android
    10
    IDEA 快速插入了解一下
    wmhx
    wmhx
    Nov 28, 2019❤️5
    11
    这种魔法工具, 在团队中还是审慎使用 ,不是每个人都能完全理解并正确使用的, 而意外的 bug 就更不好定位了, 所以你听领导的没错.
    LPeJuN6lLsS9
    LPeJuN6lLsS9
    Nov 28, 2019
    12
    没有 lombok 我要死了。public+1
    shenyuanlaolarou
    shenyuanlaolarou
    Nov 28, 2019 via iPhone
    13
    这种东西你用了 团队里面做同一个项目的人都得用,或者说至少也要装一个,这对他们也不公平吧。
    hyrepo
    hyrepo
    Nov 28, 2019 via iPhone
    14
    不如先问问为什么不让用?这东西硬伤太大,没有装插件代码拉下来全是红的
    EminemW
    EminemW
    Nov 28, 2019 via iPhone
    15
    选中所有属性 ➡️shift+insert ➡️ getter and setter ☑️
    uxstone
    uxstone
    Nov 28, 2019
    16
    这还算是互联网公司?
    rebounce
    rebounce
    Nov 28, 2019 via Android
    17
    kotlin
    NeinChn
    NeinChn
    Nov 28, 2019❤️2
    18
    哈哈哈,你知道 lombok 的适用场景,风险,大概实现原理么
    出了问题你能快速解决么,我就不让自己团队的人用 lombok。
    araaaa
    araaaa
    Nov 28, 2019 via iPhone
    19
    ???
    javapythongo
    javapythongo
    Nov 28, 2019 via iPhone
    20
    那用 springboot 吗?不会还是 ssh 吧
    zhazi
    zhazi
    Nov 28, 2019 via Android❤️6
    21
    @NeinChn 你知道 getter setter 原理,适用场景,风险吗?出了问题你能快速解决么?
    Kahnn
    Kahnn
    Nov 28, 2019
    22
    用了好久没发现有什么风险点,也没听人说因为用 lombok 踩了坑
    uxstone
    uxstone
    Nov 28, 2019❤️2
    23
    领导的想法是 这 lombok 是个啥?没用过, 出问题 hold 不住咋办,setter/getter 又不是不能用, 垃圾代码多点无所谓, 项目能跑就行,也懒得去学习去了解去装什么 IDE 插件, 反正我是领导,我说了算

    你所能做的 1. 听话 2. 干掉领导,然后推行 lombok
    billlee
    billlee
    Nov 28, 2019
    24
    说说我踩过的坑吧
    1. lombok 依赖了编译器的内部接口,更新 java 大版本的时候会出现兼容问题。现在搜索一下 lombok java 8 应该还能找到相关的问题
    2. 混用( jvm 上的)不同语言的时候配置复杂,效果也不太好
    我工作上的项目需要 java 和 scala 混用,一开始用了 lombok, 后来都重构去掉了
    NeinChn
    NeinChn
    Nov 28, 2019
    25
    @zhazi 我知道啊,也能解决问题,然后你想表达什么
    youngxhui
    youngxhui
    Nov 28, 2019 via Android
    26
    kotlin 吧
    widewing
    widewing
    Nov 29, 2019 via Android
    27
    公司不让我用汇编优化关键业务,这么反人类,怎么说服领导。
    anyele
    anyele
    Nov 29, 2019 via Android
    28
    说实话团队不建议用,个人用用吧
    realkenshinji
    realkenshinji
    Nov 29, 2019 via iPhone
    29
    那就用 kotlin 咯
    noreplay
    noreplay
    Nov 29, 2019 via Android❤️1
    30
    在团队推行 c #😏😏
    wangxiaoaer
    wangxiaoaer
    Nov 29, 2019 via Android
    31
    @zhazi 别急着发脾气,@NeinChn 说的有道理,不要觉得 lom 只是帮你写了个 getter setter。他还可以帮你写 equals hashcode,而其个类如果有嵌套引用,不做特殊处理,序列化的时候会死循环。

    我当初是看了一下 LM 自动生成的代码才发现的,当然文档可能会提到,但开始用的时候只是想省点事,压制就不觉得有看文档的必要,就掉坑了。
    Rwing
    Rwing
    Nov 29, 2019
    32
    java 语言本身已经这么弱了,还不让用 lombok,不让人写代码了呗?
    tachikomachann
    tachikomachann
    Nov 29, 2019
    33
    不用天也塌不下来。。
    snowydec
    snowydec
    Nov 29, 2019
    34
    lombok 只用 @Getter @Setter 想不出能有什么问题
    passerbytiny
    passerbytiny
    Nov 29, 2019
    35
    @wmhx #10
    @shenyuanlaolarou #12
    @NeinChn #17
    @billlee #23
    大概推测这几位:一,没用过 Spring Boot 或者没真正用过 Spring Boot ;二,没负责过评审别人的代码。
    cwjokaka
    cwjokaka
    Nov 29, 2019
    36
    用 idea 插件生成,效果一样就行
    jipaidian
    jipaidian
    Nov 29, 2019
    37
    这是很简单,谁推行谁培训,这事也不是绝对的对或不对是吧?有人喜欢要用,可以,起码给大家培训一下一起用,要么一起别用。团队项目有统一的规范和行动指南很重要。

    当然以上是个人意见。
    sagaxu
    sagaxu
    Nov 29, 2019 via Android
    38
    @wangxiaoaer 有循环引用的时候,不用 lombok 也会崩,json 序列化达到最大层数限制才会停。


    想推新工具的,还是太年轻,等你老了,也会学不动,也会排斥拒绝新东西,成为你的队员眼中的的守旧老人。勇士杀死了龙,自己却也变成了龙。
    blindpirate
    blindpirate
    Nov 29, 2019❤️2
    39
    看了一圈没有一个人提到 Lombok 违反了 Java annotation processor 的规定。lombok 用的是 hacky 的方式(编译器的 private API ),不知道的人还是不要无脑吹的好。
    richard1122
    richard1122
    Nov 29, 2019
    40
    lombok 的实现非常 hack,并且很多你需要的特性都可以用 kotlin 解决,最好还是别用。
    l8g
    l8g
    Nov 29, 2019❤️1
    41
    就凭 lombok 要强奸别人在 IDE 里装插件,我就不支持。
    DsuineGP
    DsuineGP
    Nov 29, 2019
    42
    @sagaxu 一般 json 工具类比如 fastjson 会考虑到循环引用的情况,问题不大.
    但是 lombok 最坑爹的是默认 hashcode 会依赖属性的 hashcode,如果实体有一个 List 属性并且 List 中的元素循环引用的话,循环计算 hashcode,接着就会 StackOverflowError.
    这类细节只有踩过坑的人才知道,强行推这玩意就得做好相应的培训和分享.
    balaWgc
    balaWgc
    Nov 29, 2019
    43
    是 idea 生成不香吗
    glaucus
    glaucus
    Nov 29, 2019
    44
    Kotlin 吧,用了后腰不酸腿不痛了
    meeop
    meeop
    Nov 29, 2019
    45
    我再某独角兽公司,也是不让用,要么 idea 自动生成,要么 kotlin
    iisky1121
    iisky1121
    Nov 29, 2019
    46
    依赖插件,好麻烦呀
    UsherOu
    UsherOu
    Nov 29, 2019
    47
    支持领导,lombok 不推荐用,alt+ins 不行么
    szq8014
    szq8014
    Nov 29, 2019
    48
    @billlee 我是和 kotlin 混用的时候去掉的 lombok
    royan
    royan
    Nov 29, 2019
    49
    既然公司有规范,那就按规范来咯,有什么好犟的[狗头]
    a68UkLHpycW7ImyV
    a68UkLHpycW7ImyV
    Nov 29, 2019
    50
    我也不让别人用
    romisanic
    romisanic
    Nov 29, 2019
    51
    lombok 确实有一些坑,而且一般都是运行时错误,不了解无法快速解决的情况下,不建议盲目引入。
    要用的话,也得有了解的足够清楚的人做好培训才行,当然也没法彻底避免
    mineqiqi
    mineqiqi
    Nov 29, 2019
    52
    lombok 还有个坑,第二个字母大写的变量生成的 get/set 方法有问题
    brucefu
    brucefu
    OP
    Nov 30, 2019
    53
    @peyppicp public ?和 lombok 功能差不多的包吗? github url ?
    brucefu
    brucefu
    OP
    Nov 30, 2019
    54
    @wmhx 可是技术不饶人呀!虽然我只是说不让用 lombok,其实其他一些技术公司也是不赞成用的。我感觉这就是为什么一些后起之秀公司的技术更好(中国),老公司被故障弄的不敢打开拳脚了、
    brucefu
    brucefu
    OP
    Nov 30, 2019
    55
    @hyrepo eclipse 看 idea 的代码也红,最后大多不都用 idea 了。变红就是老一辈们不愿意用 lombok 的原因吗?
    brucefu
    brucefu
    OP
    Nov 30, 2019
    56
    @javapythongo 新项目用 Springboot,不过还都是手动配置那一套,跟用没用没两样。目前 ssh 很少吧,Struts2 都拉成啥样了
    brucefu
    brucefu
    OP
    Nov 30, 2019
    57
    @NeinChn 你知道 spring 的实现原理、有哪些坑吗?你的下属知道吗?
    brucefu
    brucefu
    OP
    Nov 30, 2019
    58
    @uxstone 正解,有多少领导 git 都不会用。前几天领导问我怎么命令创建分支,我怀疑他之前是不是都是 web 页面创建,然后拉下来。知名二线互联网公司,真事
    brucefu
    brucefu
    OP
    Nov 30, 2019
    59
    @billlee 升级大版本,肯定检查所有依赖的 jar 包是否支持,所以这个坑可以避免。至于语言混用,小弟只会写 java bean
    brucefu
    brucefu
    OP
    Nov 30, 2019
    60
    @anyele 如果团队领导想用,是不是就适合团队了。比如 5 年后,我这帮人都到了领导层
    brucefu
    brucefu
    OP
    Nov 30, 2019
    61
    @wangxiaoaer lombok 也是个技术嘛,我们几乎一直在学习新技术、用新技术,为什么要因为害怕问题而拒绝使用新技术?是不是因为中层领导不想担责任担风险的锅?老白兔,只是混着,不用出太大的业绩,今年搞搞重构,明年搞搞迁移,别出事情他就不会滚蛋。
    brucefu
    brucefu
    OP
    Nov 30, 2019
    62
    @jipaidian 肯定要一个中层领导去推才行。中层领导不愿意管这个没有业绩的事、不愿意担风险。确实 lombok 有一些注解得下功夫系统学一下。
    brucefu
    brucefu
    OP
    Nov 30, 2019
    63
    用 idea 生成 getter 的就不用回复了,丢人。还有,除了 getter setter toString,其实我特别想生成 logger
    brucefu
    brucefu
    OP
    Nov 30, 2019
    64
    @l8g 你有没有被人强奸过装 git ?装 maven ?
    NeinChn
    NeinChn
    Nov 30, 2019❤️1
    65
    @brucefu,Spring 的基础原理,大概实现我是懂的,而且技术是用来解决问题的
    你就这么纠结 lombok 这种可有可无的语法糖,还是有坑的语法糖,即不能提升效率,解决不了实际问题的东西
    除了满足自己的虚荣心,看起来很追求新技术,可以痛斥老白兔不求上进以外还能做啥?
    而且你一直强调“新技术”,合理的技术才是合适的,什么场景用什么技术,基于业务和场景做选型
    新技术算个啥?旧技术就不能用了?
    hyrepo
    hyrepo
    Nov 30, 2019 via iPhone
    66
    @brucefu eclipse 红是因为你提交了 idea 相关的文件进代码库啊,别动不动就是什么老一辈不思进取抵制新技术,别人比你多出的经验是毫无价值的吗,推新技术之前先权衡下利弊啊,优点是什么,带来的代价又是什么,lombok 配好后写起来是很爽我承认,但是这种依赖于 ide 的插件,别人代码拉下来后还得配置半天才能上手,你觉得这算是一个很好的实践吗?
    brucefu
    brucefu
    OP
    Nov 30, 2019
    67
    @NeinChn 好可怜,说不过就开始人身攻击和扯极端了。LOW
    NeinChn
    NeinChn
    Nov 30, 2019
    68
    @brucefu
    这都算人身攻击,这未免太玻璃心了
    说技术吧,前面那么多人说了,你就不听非抬扛
    你这就是只听自己想听的,既然这样也没什么讨论的必要了
    anyele
    anyele
    Dec 1, 2019
    69
    @brucefu #59 我觉得 5 年后你当了领导, 更不会用, 因为那时候你就发现招人好难, 招合适的人更难
    waterlaw
    waterlaw
    Dec 1, 2019 via Android
    70
    @brucefu lombok 在纯 java 可用, 也可以手写 getter/setter, 语法识别确实需要 ide 插件支持,不想折腾的话用就生成好代码吧,想折腾的话 idea 有很多不错的功能。可以问下公司为什么不让用(估计有人踩到坑了或者听到什么风声)?
    l8g
    l8g
    Dec 2, 2019
    71
    @brucefu
    maven、git 能和 lombok 这种 hack 的入侵代码的东西一样吗?
    不让用 lombok 就是反人类,你代表哪个人类了?
    你发帖唯一的目的就是来找认同么?好的,那 lombok 真香,怎么没有插件能自动帮我写代码呢?写代码好累哦。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   716 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    ♥ Do have faith in what you're doing.