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

JB 如果想在后端推广 Kotlin,能不能先把 lombok 兼容搞好

  •  
  •   t4we · 2021-07-25 19:13:45 +08:00 · 5043 次点击
    这是一个创建于 1224 天前的主题,其中的信息可能已经有所发展或是发生改变。

    The Lombok compiler plugin is Experimental. It may be dropped or changed at any time. Use it only for evaluation purposes. 😅😅😅

    第 1 条附言  ·  2021-07-25 21:03:21 +08:00
    为什么要用 lombok ?

    1. 不是新应用
    2. kotlin 数据类和序列化框架兼容很差
    3. 喷 lombok 的差不多得了,Java 不用这个用什么?
    28 条回复    2021-08-06 17:27:57 +08:00
    yukiww233
        1
    yukiww233  
       2021-07-25 19:57:45 +08:00
    都 kotlin 了还有啥场景需要用 lombok 么
    WebKit
        2
    WebKit  
       2021-07-25 20:13:27 +08:00 via Android
    已经用 kotlin 了,还要 lombok 干啥
    xarthur
        3
    xarthur  
       2021-07-25 20:16:42 +08:00
    用 Kotlin 为什么要 Lombok……
    cubecube
        4
    cubecube  
       2021-07-25 20:57:14 +08:00   ❤️ 8
    拒绝 lombok,从我做起。
    iseki
        5
    iseki  
       2021-07-25 20:59:32 +08:00
    实际上我之前也遇到了类似的问题,主要是有一部分人非要写 Java,lombok 兼容有问题。
    解决方案是让他一起写 Kotlin,放弃 Lombok 这种阴间工具
    hehezhang
        6
    hehezhang  
       2021-07-25 21:01:41 +08:00 via Android
    kotlin 不是有 data 吗
    msaionyc
        7
    msaionyc  
       2021-07-25 21:11:06 +08:00
    回复附言:Java 不用 lombok 也没什么问题吧,这种东西太流氓了
    t4we
        8
    t4we  
    OP
       2021-07-25 21:16:59 +08:00
    @msaionyc 手写 getter setter hashcode 么,加字段会漏写,CR 更痛苦
    chendy
        9
    chendy  
       2021-07-25 21:19:03 +08:00
    主流数据序列化 /持久化框架应该早就支持 data 类型了
    最让我难受的反而是 @ Slf4j 这个用不了……
    msaionyc
        10
    msaionyc  
       2021-07-25 21:30:43 +08:00
    @t4we 为什么要手写?不是有快捷键吗
    https://imgur.com/4sbn1bj
    iseki
        11
    iseki  
       2021-07-25 21:34:46 +08:00
    不知道你用的啥序列化框架,反正 Jackson 、Gson 、protobuf 看起来都没啥问题,Jackson 没用出过问题
    xuanbg
        12
    xuanbg  
       2021-07-26 09:15:13 +08:00
    都 kotlin 了还要什么自行车。不,用什么 lombok
    gouflv
        13
    gouflv  
       2021-07-26 09:22:49 +08:00 via iPhone
    kotlin 做 data mapping 有啥好办法吗
    earneet
        14
    earneet  
       2021-07-26 09:48:25 +08:00
    java 也基本可以告别 lombokl 了,java16 提供了 record 类, 感觉更好用一些,在 17LTS 上基本应该稳了
    windyboy
        15
    windyboy  
       2021-07-26 10:33:05 +08:00
    lombok 就是一种想偷懒而又特别纯的用法
    有 data class 你不用
    t4we
        16
    t4we  
    OP
       2021-07-26 10:33:44 +08:00
    @msaionyc 你不加字段吗
    bringyou
        17
    bringyou  
       2021-07-26 12:04:04 +08:00
    我之前也琢磨过,后来发现 2 种解决办法:
    1. 把 lombok 和 kotlin 分成不同的 maven module,各编译各的
    2. 配置 delombok plugin
    efaun
        18
    efaun  
       2021-07-26 13:40:25 +08:00
    @earneet #14 版本任你发,我用 java8😄
    ikas
        19
    ikas  
       2021-07-26 15:18:47 +08:00
    把 lombok 做好了,还怎么推广 kotlin?就跟 google 一样,明明早就可以支持 java11+,但是我就是不给你用....
    msaionyc
        20
    msaionyc  
       2021-07-26 15:25:22 +08:00   ❤️ 1
    @t4we 加字段一个快捷键 alt+insert 也就好了啊,这个东西很麻烦吗。
    另外,这个东西太流氓了,这才是主要被反对的原因
    t4we
        21
    t4we  
    OP
       2021-07-26 15:29:14 +08:00
    @msaionyc 怎么还不懂呢 不管手写还是自动生成很大概率会漏 cr 也没法做
    uselessVisitor
        22
    uselessVisitor  
       2021-07-26 18:18:04 +08:00 via Android
    @earneet 你们生产用 16 ?
    shyling
        23
    shyling  
       2021-07-26 20:59:21 +08:00   ❤️ 1
    表示不知道 Java 为什么要用 lombok ...

    增加字段就在域里加上,顺便用 ide generate getter/setter toString equals hashCode 很顺手的操作啊。。

    ===

    真的不太习惯这种比较 hack 的方式。。个人觉得 cmd + 鼠标点 getter 应该点到 getter 方法里、点 protobuf 的 Message 应该点到生成的 Java 的实现里。而不是直接到 field 、直接到 .proto 的定义。。
    golangLover
        24
    golangLover  
       2021-07-27 00:34:02 +08:00 via Android
    @shyling 你生成一个 builder 然后你的代码就被淹没了
    intmax2147483647
        25
    intmax2147483647  
       2021-07-27 14:20:46 +08:00
    照你们这种手法,Java 注解这东西的存在就挺 tricky 的。
    earneet
        26
    earneet  
       2021-07-28 17:32:48 +08:00
    @beichenhpy 现在开发阶段用的 java16,等投入生产的时候就升级为 17 了
    budgerigar
        27
    budgerigar  
       2021-08-06 14:55:32 +08:00
    t4we
        28
    t4we  
    OP
       2021-08-06 17:27:57 +08:00
    @budgerigar 看一下帖子正文
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:29 · PVG 08:29 · LAX 16:29 · JFK 19:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.