Lombok 到底应不应该使用?

2019-05-08 14:01:00 +08:00
 cmower

之前写了一篇《干啥呢,Lombok 》,读者反响还不错。

有一些批评的声音:使用 Lombok 等于强 X 了你的队友,他们也必须使用,否则代码就编译不通过。

但我自己的体验是,省去 getter/setter 似乎真的很省心。

V 站的朋友们,你们觉得呢?

12815 次点击
所在节点    Java
80 条回复
asdf17128
2019-05-08 14:45:20 +08:00
队友被强 X 了之后表示很开心
allanzhuo
2019-05-08 14:50:19 +08:00
Lombok 不只有 get set,还有很多其他的实用功能。被强 X 的没坏处
Raymon111111
2019-05-08 14:53:51 +08:00
省掉 get/set 并没有带来多大的好处
waising
2019-05-08 14:56:55 +08:00
lombok 只是为了 get/set 不如引入 kotlin
adzchao
2019-05-08 15:01:08 +08:00
难道你们只知道 lombok 这么片面的功能么?除了 get/set 就没别的了?麻烦看一下官方文档 OK ?
adzchao
2019-05-08 15:01:29 +08:00
sorry 不是你们 是你
@waising
specita
2019-05-08 15:02:48 +08:00
用 ide 自动生成也能应付大多数场景了,所以用不用看大家喜好吧,但是 lombok 还提供其它实用功能,比如 builder,要用 lombok 最好还是要知道生成的到底是些什么代码比较好
qiyuey
2019-05-08 15:02:51 +08:00
Kotlin 欢迎你
Sendya
2019-05-08 15:07:49 +08:00
你还可以用 @RequiredArgsConstructor 来代替原本使用 @Autowired 或 @Resource 注入,省去写构造
你还可以写 @Slf4j 来自动生成 log 免去手写行,直接使用 log
你还可以 @toString @EqualsAndHashCode 等各种
你还可以...

![]( https://i.loli.net/2019/05/08/5cd2803bd34c4.png)
Resource
2019-05-08 15:09:54 +08:00
@Sendya #9 好的
Le4fun
2019-05-08 15:10:25 +08:00
楼主贴下《干啥呢,Lombok 》呗
Sendya
2019-05-08 15:13:03 +08:00
@Resource 哈哈哈哈过分了这 ID 居然也有
loveCoding
2019-05-08 15:13:23 +08:00
手指断了别怪我
Sharuru
2019-05-08 15:18:38 +08:00
正如 5 楼所说,Lombok 的功能不仅是 getter/setter。

团队开发中,用不用,怎么用,很多时候不是一个普通成员能决定的,如果要用,就算不服也得用。较为规模的项目一整套开发规范不是白写的。

平常站里没见几个写 Java 的,但是一旦碰到这种可以撕逼的问题,仿佛人均 Java 开发十年。
passerbytiny
2019-05-08 15:23:18 +08:00
某 Spring 开发者:快看这有个超级好用的 lombok。( Spring 有些文档中已经只提供使用了 lombok 的代码示例)
某专职代码评审员:别给我添麻烦,用 lombok 的一律扣分。

——团队文化决定了是该不该用。
Jrue0011
2019-05-08 15:24:24 +08:00
start.spring.io 输入 lombok 是有结果的...
bdnet
2019-05-08 15:27:30 +08:00
用 Git 是不是 QJ 了喜欢用 SVN 的同学?

Java 后面更新也有吸收 Lombok 的特性。比如 var
jorneyr
2019-05-08 15:30:42 +08:00
我们规定了必须用 Lombok,因为吃过亏,有的 Bean 几十个属性,增加或者修改属性的时候不小心就会忘了修改 getter 或者 setter,导致前端提交的数据服务器端没有得到而产生 Bug,查找了很久发现原来是新增加的属性忘了增加 setter。
thisisgpy
2019-05-08 15:52:19 +08:00
SpringBoot starter 的组件可选列表里面有 Lombok
EmdeBoas
2019-05-08 16:07:06 +08:00
当项目中不止 java 的时候就不该用了...比如混入了 groovy,不过大部分人吃不到这个亏..
仁者见仁智者见智吧,单纯自己玩的时候会用一下,但是团队合作会避免

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX