
1 micean 2019-11-28 18:30:19 +08:00 不如说服自己不用 |
2 HuHui 2019-11-28 18:30:51 +08:00 工资给太多了吗 |
3 lockelee 2019-11-28 18:34:19 +08:00 via iPhone 公司领导还管这个,居然懂技术呢 |
4 lbp0200 2019-11-28 18:43:57 +08:00 面向工资编程?不用 Lombok:逃离 Java |
5 peyppicp 2019-11-28 18:45:02 +08:00 用 public 修饰 |
6 springz 2019-11-28 18:48:53 +08:00 上 Kotlin |
7 kkkkkrua 209-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 这种魔法工具, 在团队中还是审慎使用 ,不是每个人都能完全理解并正确使用的, 而意外的 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 哈哈哈,你知道 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 @NeinChn 你知道 getter setter 原理,适用场景,风险吗?出了问题你能快速解决么? |
22 Kahnn 2019-11-28 22:46:17 +08:00 用了好久没发现有什么风险点,也没听人说因为用 lombok 踩了坑 |
23 uxstone 2019-11-28 23:14:37 +08:00 领导的想法是 这 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 在团队推行 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 这是很简单,谁推行谁培训,这事也不是绝对的对或不对是吧?有人喜欢要用,可以,起码给大家培训一下一起用,要么一起别用。团队项目有统一的规范和行动指南很重要。 当然以上是个人意见。 |
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 看了一圈没有一个人提到 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 就凭 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 @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 |