公司不让用 Lombok,这么反人类,该怎么说服领导。二线互联网公司 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
brucefu
V2EX    问与答

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

  •  
  •   brucefu 2019-11-28 18:21:07 +08:00 8301 次点击 /div>
    这是一个创建于 2199 天前的主题,其中的信息可能已经有所发展或是发生改变。
    71 条回复    2019-12-02 09:15:14 +08:00
    micean
        1
    micean  
       2019-11-28 18:30:19 +08:00   3
    不如说服自己不用
    HuHui
        2
    HuHui  
       2019-11-28 18:30:51 +08:00
    工资给太多了吗
    lockelee
        3
    lockelee  
       2019-11-28 18:34:19 +08:00 via iPhone   3
    公司领导还管这个,居然懂技术呢
    lbp0200
        4
    lbp0200  
       2019-11-28 18:43:57 +08:00
    面向工资编程?不用 Lombok:逃离 Java
    peyppicp
        5
    peyppicp  
       2019-11-28 18:45:02 +08:00   2
    用 public 修饰
    springz
        6
    springz  
       2019-11-28 18:48:53 +08:00   1
    上 Kotlin
    kkkkkrua
        7
    kkkkkrua  
       209-11-28 18:50:12 +08:00 via iPhone
    idea 的生成也可以吧,差不多的
    ysn2233
        8
    ysn2233  
       2019-11-28 18:51:57 +08:00
    不如用 Public
    x66
        9
    x66  
       2019-11-28 18:57:42 +08:00
    那就用 public
    lhx2008
        10
    lhx2008  
       2019-11-28 19:01:50 +08:00 via Android
    IDEA 快速插入了解一下
    wmhx
        11
    wmhx  
       2019-11-28 19:07:11 +08:00   5
    这种魔法工具, 在团队中还是审慎使用 ,不是每个人都能完全理解并正确使用的, 而意外的 bug 就更不好定位了, 所以你听领导的没错.
    LPeJuN6lLsS9
        12
    LPeJuN6lLsS9  
       2019-11-28 19:14:48 +08:00
    没有 lombok 我要死了。public+1
    shenyuanlaolarou
        13
    shenyuanlaolarou  
       2019-11-28 19:19:19 +08:00 via iPhone
    这种东西你用了 团队里面做同一个项目的人都得用,或者说至少也要装一个,这对他们也不公平吧。
    hyrepo
        14
    hyrepo  
       2019-11-28 19:31:39 +08:00 via iPhone
    不如先问问为什么不让用?这东西硬伤太大,没有装插件代码拉下来全是红的
    EminemW
        15
    EminemW  
       2019-11-28 19:36:55 +08:00 via iPhone
    选中所有属性 shift+insert getter and setter
    uxstone
        16
    uxstone  
       2019-11-28 20:39:56 +08:00
    这还算是互联网公司?
    rebounce
        17
    rebounce  
       2019-11-28 20:55:51 +08:00 via Android
    kotlin
    NeinChn
        18
    NeinChn  
       2019-11-28 21:14:51 +08:00   2
    哈哈哈,你知道 lombok 的适用场景,风险,大概实现原理么
    出了问题你能快速解决么,我就不让自己团队的人用 lombok。
    araaaa
        19
    araaaa  
       2019-11-28 21:18:50 +08:00 via iPhone
    ???
    javapythongo
        20
    javapythongo  
       2019-11-28 22:17:09 +08:00 via iPhone
    那用 springboot 吗?不会还是 ssh 吧
    zhazi
        21
    zhazi  
       2019-11-28 22:34:54 +08:00 via Android   6
    @NeinChn 你知道 getter setter 原理,适用场景,风险吗?出了问题你能快速解决么?
    Kahnn
        22
    Kahnn  
       2019-11-28 22:46:17 +08:00
    用了好久没发现有什么风险点,也没听人说因为用 lombok 踩了坑
    uxstone
        23
    uxstone  
       2019-11-28 23:14:37 +08:00   2
    领导的想法是 这 lombok 是个啥?没用过, 出问题 hold 不住咋办,setter/getter 又不是不能用, 垃圾代码多点无所谓, 项目能跑就行,也懒得去学习去了解去装什么 IDE 插件, 反正我是领导,我说了算

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

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

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


    想推新工具的,还是太年轻,等你老了,也会学不动,也会排斥拒绝新东西,成为你的队员眼中的的守旧老人。勇士杀死了龙,自己却也变成了龙。
    blindpirate
        39
    blindpirate  
       2019-11-29 09:37:21 +08:00   2
    看了一圈没有一个人提到 Lombok 违反了 Java annotation processor 的规定。lombok 用的是 hacky 的方式(编译器的 private API ),不知道的人还是不要无脑吹的好。
    richard1122
        40
    richard1122  
       2019-11-29 09:55:51 +08:00
    lombok 的实现非常 hack,并且很多你需要的特性都可以用 kotlin 解决,最好还是别用。
    l8g
        41
    l8g  
       2019-11-29 10:09:46 +08:00   1
    就凭 lombok 要强奸别人在 IDE 里装插件,我就不支持。
    DsuineGP
        42
    DsuineGP  
       2019-11-29 11:25:03 +08:00
    @sagaxu 一般 json 工具类比如 fastjson 会考虑到循环引用的情况,问题不大.
    但是 lombok 最坑爹的是默认 hashcode 会依赖属性的 hashcode,如果实体有一个 List 属性并且 List 中的元素循环引用的话,循环计算 hashcode,接着就会 StackOverflowError.
    这类细节只有踩过坑的人才知道,强行推这玩意就得做好相应的培训和分享.
    balaWgc
        43
    balaWgc  
       2019-11-29 11:55:08 +08:00
    是 idea 生成不香吗
    glaucus
        44
    glaucus  
       2019-11-29 11:57:27 +08:00
    Kotlin 吧,用了后腰不酸腿不痛了
    meeop
        45
    meeop  
       2019-11-29 12:05:22 +08:00
    我再某独角兽公司,也是不让用,要么 idea 自动生成,要么 kotlin
    iisky1121
        46
    iisky1121  
       2019-11-29 12:11:59 +08:00
    依赖插件,好麻烦呀
    UsherOu
        47
    UsherOu  
       2019-11-29 12:30:19 +08:00
    支持领导,lombok 不推荐用,alt+ins 不行么
    szq8014
        48
    szq8014  
       2019-11-29 13:11:06 +08:00
    @billlee 我是和 kotlin 混用的时候去掉的 lombok
    royan
        49
    royan  
       2019-11-29 13:33:34 +08:00
    既然公司有规范,那就按规范来咯,有什么好犟的[狗头]
    a68UkLHpycW7ImyV
        50
    a68UkLHpycW7ImyV  
       2019-11-29 13:51:57 +08:00
    我也不让别人用
    romisanic
        51
    romisanic  
       2019-11-29 13:58:54 +08:00
    lombok 确实有一些坑,而且一般都是运行时错误,不了解无法快速解决的情况下,不建议盲目引入。
    要用的话,也得有了解的足够清楚的人做好培训才行,当然也没法彻底避免
    mineqiqi
        52
    mineqiqi  
       2019-11-29 14:06:02 +08:00
    lombok 还有个坑,第二个字母大写的变量生成的 get/set 方法有问题
    brucefu
        53
    brucefu  
    OP
       2019-11-30 16:57:27 +08:00
    @peyppicp public ?和 lombok 功能差不多的包吗? github url ?
    brucefu
        54
    brucefu  
    OP
       2019-11-30 17:01:58 +08:00
    @wmhx 可是技术不饶人呀!虽然我只是说不让用 lombok,其实其他一些技术公司也是不赞成用的。我感觉这就是为什么一些后起之秀公司的技术更好(中国),老公司被故障弄的不敢打开拳脚了、
    brucefu
        55
    brucefu  
    OP
       2019-11-30 17:04:13 +08:00
    @hyrepo eclipse 看 idea 的代码也红,最后大多不都用 idea 了。变红就是老一辈们不愿意用 lombok 的原因吗?
    brucefu
        56
    brucefu  
    OP
       2019-11-30 17:05:22 +08:00
    @javapythongo 新项目用 Springboot,不过还都是手动配置那一套,跟用没用没两样。目前 ssh 很少吧,Struts2 都拉成啥样了
    brucefu
        57
    brucefu  
    OP
       2019-11-30 17:06:46 +08:00
    @NeinChn 你知道 spring 的实现原理、有哪些坑吗?你的下属知道吗?
    brucefu
        58
    brucefu  
    OP
       2019-11-30 17:08:56 +08:00
    @uxstone 正解,有多少领导 git 都不会用。前几天领导问我怎么命令创建分支,我怀疑他之前是不是都是 web 页面创建,然后拉下来。知名二线互联网公司,真事
    brucefu
        59
    brucefu  
    OP
       2019-11-30 17:12:17 +08:00
    @billlee 升级大版本,肯定检查所有依赖的 jar 包是否支持,所以这个坑可以避免。至于语言混用,小弟只会写 java bean
    brucefu
        60
    brucefu  
    OP
       2019-11-30 17:13:41 +08:00
    @anyele 如果团队领导想用,是不是就适合团队了。比如 5 年后,我这帮人都到了领导层
    brucefu
        61
    brucefu  
    OP
       2019-11-30 17:17:44 +08:00
    @wangxiaoaer lombok 也是个技术嘛,我们几乎一直在学习新技术、用新技术,为什么要因为害怕问题而拒绝使用新技术?是不是因为中层领导不想担责任担风险的锅?老白兔,只是混着,不用出太大的业绩,今年搞搞重构,明年搞搞迁移,别出事情他就不会滚蛋。
    brucefu
        62
    brucefu  
    OP
       2019-11-30 17:20:13 +08:00
    @jipaidian 肯定要一个中层领导去推才行。中层领导不愿意管这个没有业绩的事、不愿意担风险。确实 lombok 有一些注解得下功夫系统学一下。
    brucefu
        63
    brucefu  
    OP
       2019-11-30 17:21:13 +08:00
    用 idea 生成 getter 的就不用回复了,丢人。还有,除了 getter setter toString,其实我特别想生成 logger
    brucefu
        64
    brucefu  
    OP
       2019-11-30 17:25:34 +08:00
    @l8g 你有没有被人强奸过装 git ?装 maven ?
    NeinChn
        65
    NeinChn  
       2019-11-30 18:14:50 +08:00   1
    @brucefu,Spring 的基础原理,大概实现我是懂的,而且技术是用来解决问题的
    你就这么纠结 lombok 这种可有可无的语法糖,还是有坑的语法糖,即不能提升效率,解决不了实际问题的东西
    除了满足自己的虚荣心,看起来很追求新技术,可以痛斥老白兔不求上进以外还能做啥?
    而且你一直强调“新技术”,合理的技术才是合适的,什么场景用什么技术,基于业务和场景做选型
    新技术算个啥?旧技术就不能用了?
    hyrepo
        66
    hyrepo  
       2019-11-30 18:35:40 +08:00 via iPhone
    @brucefu eclipse 红是因为你提交了 idea 相关的文件进代码库啊,别动不动就是什么老一辈不思进取抵制新技术,别人比你多出的经验是毫无价值的吗,推新技术之前先权衡下利弊啊,优点是什么,带来的代价又是什么,lombok 配好后写起来是很爽我承认,但是这种依赖于 ide 的插件,别人代码拉下后还得配置半天才能上手,你觉得这算是一个很好的实践吗?
    brucefu
        67
    brucefu  
    OP
       2019-11-30 18:51:19 +08:00
    @NeinChn 好可怜,说不过就开始人身攻击和扯极端了。LOW
    NeinChn
        68
    NeinChn  
       2019-11-30 19:45:48 +08:00
    @brucefu
    这都算人身攻击,这未免太玻璃心了
    说技术吧,前面那么多人说了,你就不听非抬扛
    你这就是只听自己想听的,既然这样也没什么讨论的必要了
    anyele
        69
    anyele  
       2019-12-01 01:30:29 +08:00
    @brucefu #59 我觉得 5 年后你当了领导, 更不会用, 因为那时候你就发现招人好难, 招合适的人更难
    waterlaw
        70
    waterlaw  
       2019-12-01 22:04:19 +08:00 via Android
    @brucefu lombok 在纯 java 可用, 也可以手写 getter/setter, 语法识别确实需要 ide 插件支持,不想折腾的话用就生成好代码吧,想折腾的话 idea 有很多不错的功能。可以问下公司为什么不让用(估计有人踩到坑了或者听到什么风声)?
    l8g
        71
    l8g  
       2019-12-02 09:15:14 +08:00
    @brucefu
    maven、git 能和 lombok 这种 hack 的入侵代码的东西一样吗?
    不让用 lombok 就是反人类,你代表哪个人类了?
    你发帖唯一的目的就是来找认同么?好的,那 lombok 真香,怎么没有插件能自动帮我写代码呢?写代码好累哦。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2813 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 03:09 PVG 11:09 LAX 19:09 JFK 22:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86