1
micean 2019-11-28 18:30:19 +08:00 3
不如说服自己不用
|
2
HuHui 2019-11-28 18:30:51 +08:00
工资给太多了吗
|
3
lockelee 2019-11-28 18:34:19 +08:00 via iPhone 3
公司领导还管这个,居然懂技术呢
|
4
lbp0200 2019-11-28 18:43:57 +08:00
面向工资编程?不用 Lombok:逃离 Java
|
5
peyppicp 2019-11-28 18:45:02 +08:00 2
用 public 修饰🐶
|
6
springz 2019-11-28 18:48:53 +08:00 1
上 Kotlin
|
7
kkkkkrua 2019-11-28 18:50:12 +08:00 via iPhone
idea 的生成也可以吧,差不多的
|
8
ysn2233 2019-11-28 18:51:57 +08:00
不如用 Public
|
9
x66 2019-11-28 18:57:42 +08:00
那就用 public
|
10
lhx2008 2019-11-28 19:01:50 +08:00 via Android
IDEA 快速插入了解一下
|
11
wmhx 2019-11-28 19:07:11 +08:00 5
这种魔法工具, 在团队中还是审慎使用 ,不是每个人都能完全理解并正确使用的, 而意外的 bug 就更不好定位了, 所以你听领导的没错.
|
12
LPeJuN6lLsS9 2019-11-28 19:14:48 +08:00
没有 lombok 我要死了。public+1
|
13
shenyuanlaolarou 2019-11-28 19:19:19 +08:00 via iPhone
这种东西你用了 团队里面做同一个项目的人都得用,或者说至少也要装一个,这对他们也不公平吧。
|
14
hyrepo 2019-11-28 19:31:39 +08:00 via iPhone
不如先问问为什么不让用?这东西硬伤太大,没有装插件代码拉下来全是红的
|
15
EminemW 2019-11-28 19:36:55 +08:00 via iPhone
选中所有属性 ➡️shift+insert ➡️ getter and setter ☑️
|
16
uxstone 2019-11-28 20:39:56 +08:00
这还算是互联网公司?
|
17
rebounce 2019-11-28 20:55:51 +08:00 via Android
kotlin
|
18
NeinChn 2019-11-28 21:14:51 +08:00 2
哈哈哈,你知道 lombok 的适用场景,风险,大概实现原理么
出了问题你能快速解决么,我就不让自己团队的人用 lombok。 |
19
araaaa 2019-11-28 21:18:50 +08:00 via iPhone
???
|
20
javapythongo 2019-11-28 22:17:09 +08:00 via iPhone
那用 springboot 吗?不会还是 ssh 吧
|
21
zhazi 2019-11-28 22:34:54 +08:00 via Android 6
@NeinChn 你知道 getter setter 原理,适用场景,风险吗?出了问题你能快速解决么?
|
22
Kahnn 2019-11-28 22:46:17 +08:00
用了好久没发现有什么风险点,也没听人说因为用 lombok 踩了坑
|
23
uxstone 2019-11-28 23:14:37 +08:00 2
领导的想法是 这 lombok 是个啥?没用过, 出问题 hold 不住咋办,setter/getter 又不是不能用, 垃圾代码多点无所谓, 项目能跑就行,也懒得去学习去了解去装什么 IDE 插件, 反正我是领导,我说了算
你所能做的 1. 听话 2. 干掉领导,然后推行 lombok |
24
billlee 2019-11-28 23:41:37 +08:00
说说我踩过的坑吧
1. lombok 依赖了编译器的内部接口,更新 java 大版本的时候会出现兼容问题。现在搜索一下 lombok java 8 应该还能找到相关的问题 2. 混用( jvm 上的)不同语言的时候配置复杂,效果也不太好 我工作上的项目需要 java 和 scala 混用,一开始用了 lombok, 后来都重构去掉了 |
26
youngxhui 2019-11-28 23:53:10 +08:00 via Android
kotlin 吧
|
27
widewing 2019-11-29 00:10:34 +08:00 via Android
公司不让我用汇编优化关键业务,这么反人类,怎么说服领导。
|
28
anyele 2019-11-29 02:41:52 +08:00 via Android
说实话团队不建议用,个人用用吧
|
29
realkenshinji 2019-11-29 07:21:31 +08:00 via iPhone
那就用 kotlin 咯
|
30
noreplay 2019-11-29 07:42:50 +08:00 via Android 1
在团队推行 c #😏😏
|
31
wangxiaoaer 2019-11-29 08:26:11 +08:00 via Android
@zhazi 别急着发脾气,@NeinChn 说的有道理,不要觉得 lom 只是帮你写了个 getter setter。他还可以帮你写 equals hashcode,而其个类如果有嵌套引用,不做特殊处理,序列化的时候会死循环。
我当初是看了一下 LM 自动生成的代码才发现的,当然文档可能会提到,但开始用的时候只是想省点事,压制就不觉得有看文档的必要,就掉坑了。 |
32
Rwing 2019-11-29 08:28:00 +08:00
java 语言本身已经这么弱了,还不让用 lombok,不让人写代码了呗?
|
33
tachikomachann 2019-11-29 08:35:44 +08:00
不用天也塌不下来。。
|
35
passerbytiny 2019-11-29 08:43:08 +08:00
@wmhx #10
@shenyuanlaolarou #12 @NeinChn #17 @billlee #23 大概推测这几位:一,没用过 Spring Boot 或者没真正用过 Spring Boot ;二,没负责过评审别人的代码。 |
36
cwjokaka 2019-11-29 09:24:19 +08:00
用 idea 插件生成,效果一样就行
|
37
jipaidian 2019-11-29 09:27:02 +08:00
这是很简单,谁推行谁培训,这事也不是绝对的对或不对是吧?有人喜欢要用,可以,起码给大家培训一下一起用,要么一起别用。团队项目有统一的规范和行动指南很重要。
当然以上是个人意见。 |
38
sagaxu 2019-11-29 09:33:28 +08:00 via Android
@wangxiaoaer 有循环引用的时候,不用 lombok 也会崩,json 序列化达到最大层数限制才会停。
想推新工具的,还是太年轻,等你老了,也会学不动,也会排斥拒绝新东西,成为你的队员眼中的的守旧老人。勇士杀死了龙,自己却也变成了龙。 |
39
blindpirate 2019-11-29 09:37:21 +08:00 2
看了一圈没有一个人提到 Lombok 违反了 Java annotation processor 的规定。lombok 用的是 hacky 的方式(编译器的 private API ),不知道的人还是不要无脑吹的好。
|
40
richard1122 2019-11-29 09:55:51 +08:00
lombok 的实现非常 hack,并且很多你需要的特性都可以用 kotlin 解决,最好还是别用。
|
41
l8g 2019-11-29 10:09:46 +08:00 1
就凭 lombok 要强奸别人在 IDE 里装插件,我就不支持。
|
42
DsuineGP 2019-11-29 11:25:03 +08:00
@sagaxu 一般 json 工具类比如 fastjson 会考虑到循环引用的情况,问题不大.
但是 lombok 最坑爹的是默认 hashcode 会依赖属性的 hashcode,如果实体有一个 List 属性并且 List 中的元素循环引用的话,循环计算 hashcode,接着就会 StackOverflowError. 这类细节只有踩过坑的人才知道,强行推这玩意就得做好相应的培训和分享. |
43
balaWgc 2019-11-29 11:55:08 +08:00
是 idea 生成不香吗
|
44
glaucus 2019-11-29 11:57:27 +08:00
Kotlin 吧,用了后腰不酸腿不痛了
|
45
meeop 2019-11-29 12:05:22 +08:00
我再某独角兽公司,也是不让用,要么 idea 自动生成,要么 kotlin
|
46
iisky1121 2019-11-29 12:11:59 +08:00
依赖插件,好麻烦呀
|
47
UsherOu 2019-11-29 12:30:19 +08:00
支持领导,lombok 不推荐用,alt+ins 不行么
|
49
royan 2019-11-29 13:33:34 +08:00
既然公司有规范,那就按规范来咯,有什么好犟的[狗头]
|
50
a68UkLHpycW7ImyV 2019-11-29 13:51:57 +08:00
我也不让别人用
|
51
romisanic 2019-11-29 13:58:54 +08:00
lombok 确实有一些坑,而且一般都是运行时错误,不了解无法快速解决的情况下,不建议盲目引入。
要用的话,也得有了解的足够清楚的人做好培训才行,当然也没法彻底避免 |
52
mineqiqi 2019-11-29 14:06:02 +08:00
lombok 还有个坑,第二个字母大写的变量生成的 get/set 方法有问题
|
54
brucefu OP @wmhx 可是技术不饶人呀!虽然我只是说不让用 lombok,其实其他一些技术公司也是不赞成用的。我感觉这就是为什么一些后起之秀公司的技术更好(中国),老公司被故障弄的不敢打开拳脚了、
|
55
brucefu OP @hyrepo eclipse 看 idea 的代码也红,最后大多不都用 idea 了。变红就是老一辈们不愿意用 lombok 的原因吗?
|
56
brucefu OP @javapythongo 新项目用 Springboot,不过还都是手动配置那一套,跟用没用没两样。目前 ssh 很少吧,Struts2 都拉成啥样了
|
58
brucefu OP @uxstone 正解,有多少领导 git 都不会用。前几天领导问我怎么命令创建分支,我怀疑他之前是不是都是 web 页面创建,然后拉下来。知名二线互联网公司,真事
|
59
brucefu OP @billlee 升级大版本,肯定检查所有依赖的 jar 包是否支持,所以这个坑可以避免。至于语言混用,小弟只会写 java bean
|
61
brucefu OP @wangxiaoaer lombok 也是个技术嘛,我们几乎一直在学习新技术、用新技术,为什么要因为害怕问题而拒绝使用新技术?是不是因为中层领导不想担责任担风险的锅?老白兔,只是混着,不用出太大的业绩,今年搞搞重构,明年搞搞迁移,别出事情他就不会滚蛋。
|
62
brucefu OP @jipaidian 肯定要一个中层领导去推才行。中层领导不愿意管这个没有业绩的事、不愿意担风险。确实 lombok 有一些注解得下功夫系统学一下。
|
63
brucefu OP 用 idea 生成 getter 的就不用回复了,丢人。还有,除了 getter setter toString,其实我特别想生成 logger
|
65
NeinChn 2019-11-30 18:14:50 +08:00 1
@brucefu,Spring 的基础原理,大概实现我是懂的,而且技术是用来解决问题的
你就这么纠结 lombok 这种可有可无的语法糖,还是有坑的语法糖,即不能提升效率,解决不了实际问题的东西 除了满足自己的虚荣心,看起来很追求新技术,可以痛斥老白兔不求上进以外还能做啥? 而且你一直强调“新技术”,合理的技术才是合适的,什么场景用什么技术,基于业务和场景做选型 新技术算个啥?旧技术就不能用了? |
66
hyrepo 2019-11-30 18:35:40 +08:00 via iPhone
@brucefu eclipse 红是因为你提交了 idea 相关的文件进代码库啊,别动不动就是什么老一辈不思进取抵制新技术,别人比你多出的经验是毫无价值的吗,推新技术之前先权衡下利弊啊,优点是什么,带来的代价又是什么,lombok 配好后写起来是很爽我承认,但是这种依赖于 ide 的插件,别人代码拉下来后还得配置半天才能上手,你觉得这算是一个很好的实践吗?
|
68
NeinChn 2019-11-30 19:45:48 +08:00
|