首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
brucefu
V2EX  ›  问与答

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

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

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

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

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


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