V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gz911122
V2EX  ›  程序员

那些天天批判 lombok 强制大家在 eclipse/idea 中添加插件的,不知道有个东西叫 maven/gradle 插件么?

  •  
  •   gz911122 · 2019-05-20 22:50:03 +08:00 · 4472 次点击
    这是一个创建于 2015 天前的主题,其中的信息可能已经有所发展或是发生改变。
    24 条回复    2019-05-22 09:16:26 +08:00
    lhx2008
        1
    lhx2008  
       2019-05-20 22:55:58 +08:00 via Android
    其实装不装,都是 IDE 里面一个快捷键的事情
    cpdyj0
        2
    cpdyj0  
       2019-05-20 23:00:14 +08:00   ❤️ 1
    每到这个时候,我就想吹下 kotlin (
    getter setter 靠 IDE 自动补全,总觉得是一种骚操作呢(
    chendy
        3
    chendy  
       2019-05-20 23:42:01 +08:00
    每当这时候,我就希望 java 的 record class 赶紧出来
    但是出来又有什么用呢,怕不是要 9102 年才有人会用
    ala2008
        4
    ala2008  
       2019-05-21 09:08:43 +08:00
    很强大啊
    zpf124
        5
    zpf124  
       2019-05-21 09:44:48 +08:00
    所以 你选择肉眼忽略 IDE 的语法错误提示是吗?
    gz911122
        6
    gz911122  
    OP
       2019-05-21 09:49:32 +08:00
    @zpf124 可惜不会有错误提示
    guyeu
        7
    guyeu  
       2019-05-21 10:01:10 +08:00
    装了 maven/gradle 插件 IDE 会没有错误提示?
    c4f36e5766583218
        8
    c4f36e5766583218  
       2019-05-21 10:26:55 +08:00
    lombok-maven-plugin 拿来干嘛的?
    zpf124
        9
    zpf124  
       2019-05-21 11:57:48 +08:00
    @gz911122 那你的意思是我 IDE 出 bug 了是吗?

    gz911122
        10
    gz911122  
    OP
       2019-05-21 12:23:51 +08:00
    @guyeu 是的..
    @zpf124 delombok 启用了么?
    zpf124
        11
    zpf124  
       2019-05-21 12:31:24 +08:00
    @gz911122
    @c4f36e5766583218

    这个插件是有点像 前端 的 ts 或者 babel.
    在**编译 build 的时候**将现在的不符合标准语法规范的代码转换成标准的.

    然而,开发人员编写的还是转换前的代码, 而此时 不论这个代码是写在"src/main/lombok"下还是"src/main/java"下,IDE 又不能识别这种非标准写法,自然会提示错误.

    我代码里的 set 方法调用是纯手敲的, IDE 不装对应插件,根本不能自动不全.
    Kyle18Tang
        12
    Kyle18Tang  
       2019-05-21 12:50:58 +08:00
    反正我安利了项目组用之后大家都喜欢用了, 装个插件又能费多大事, 但是节省了很多开发时间.
    zpf124
        13
    zpf124  
       2019-05-21 13:00:54 +08:00
    @gz911122

    我又试了几次.

    如果 将 lombok 注解的类 不设置为源码目录, 并且编译之前先执行 delombok 插件.
    那么调用 lombok 注解的类 是不提示错误了, 但编辑整个 lombok 注解的类 都没有任何语法代码提示了,因为它不属于 IDE 识别的源码目录.


    很遗憾,这个插件的作用仅仅是能让不想装 idea 插件的人 可以查看并且运行代码, 如果想参与开发那只能当 lombok 不存在.
    gz911122
        14
    gz911122  
    OP
       2019-05-21 13:15:26 +08:00
    @zpf124 这个路径是可以配置的
    效果可以达到识别的
    src/main/lombok 可以改为 src/main/java"
    RobberPhex
        15
    RobberPhex  
       2019-05-21 13:20:17 +08:00
    我关注的点是,IDEA 和 Eclipse ( VSCode )为啥都不支持 APT 呢? IDE 不就应该“模仿”编译器吗?
    SaintDan
        16
    SaintDan  
       2019-05-21 13:25:20 +08:00
    @cpdyj0 没错 kt 多爽
    guyeu
        17
    guyeu  
       2019-05-21 16:57:47 +08:00
    delombok 插件真正的作用是在源码打包的时候保证源码包里的代码和编译后的字节码内容一致,如果通过这个东西想做到 IDEA 的 lombok 插件做的事情,感觉是南辕北辙了。
    我刚刚试着搞了一下,需要配置好几个地方,而且不确定会不会和其他的 maven 插件完美配合,所以果断放弃。
    IDEA 里装个插件没什么成本,还是不要对项目做侵入性修改以达到看起来牛比的效果。
    qiyuey
        18
    qiyuey  
       2019-05-21 17:02:42 +08:00
    换 Kotlin,省心
    feiyuanqiu
        19
    feiyuanqiu  
       2019-05-21 17:04:02 +08:00 via Android   ❤️ 2
    忍受得了一堆冗杂的 getter / setter / equals / hashcode 的人,总能找到各种理由反对它,lombok 本来也不是为他们准备的。
    Rwing
        20
    Rwing  
       2019-05-21 18:54:26 +08:00
    这个时候是不是要安利下 C# ?
    javaWeber
        21
    javaWeber  
       2019-05-21 18:57:08 +08:00
    我用 lombok 主要是为了用 Builder 模式构建对象。
    Kaiv2
        22
    Kaiv2  
       2019-05-21 19:03:57 +08:00 via Android
    没有配置插件怎么构建的?难道是用 IDE 打包?
    sagaxu
        23
    sagaxu  
       2019-05-21 19:22:16 +08:00 via Android
    你这是强制我们用 maven/gradle,构建系统不要下载安装吗?不要学习成本吗?

    老子不是学不会,是觉得没必要,你不能强 x 我们。
    Arnie97
        24
    Arnie97  
       2019-05-22 09:16:26 +08:00 via Android
    @zpf124 你要参考 JS 的话,只有 ES6 才能最终替代 ES5,而 Coffee 只是一个过度阶段,要被淘汰的🤔
    鉴于 Java 现在开始刷版本号了,能不能指望一下类似功能成为语言特性的一部分
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3554 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:56 · PVG 08:56 · LAX 16:56 · JFK 19:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.