public List<IssueStatistics> getIssueStatistics() {
return issueStatistics == null ? null : issueStatistics;
}
101
vicalloy 2021-03-19 11:30:03 +08:00
@fenghengzhi 我开始也以为是深拷贝,确认后发现不是。结合其他代码,应当只是单纯的认为 Python 里的“Json 对象”和 dict/list 不是同一种东西。
|
102
Colis 2021-03-19 11:30:07 +08:00 2
可能之前想返回一个空的 List,后来需求变更为返回一个 null 。保留这么写方便以后再改回去。
|
103
KarmaWu 2021-03-19 11:34:18 +08:00
Optional.ofNullable(issueStatistics).orElse(Collections.EMPTY_LIST);
|
104
godloveplay 2021-03-19 11:46:42 +08:00
@thtznet #69 单纯对这句话,你手里拿个锤子,看什么都是钉子。。
|
105
QingStone 2021-03-19 11:49:32 +08:00 via iPhone
原地打转!
|
106
lakehylia 2021-03-19 11:56:19 +08:00
反正编译器会优化的,编译器又不傻
|
107
JasonTsang 2021-03-19 11:57:12 +08:00 1
其实还好 ,可能暂时 状态 ,一般这种会多处调用 ,封闭成方法,如果这里被调用 1000 次,下次这里逻辑有变。只要改这里就可以了。当然 现在的代码是没意义的 直接 return issueStatistics 就可以了。但习惯是很好的。
|
108
digimoon 2021-03-19 11:58:09 +08:00
可能原来是 A,后来改成 B,突然又要改成 C,想着以后估计还得弄成 D
|
109
ssssstest 2021-03-19 12:00:56 +08:00
虽然但是,没必要强调外包。非得加重歧视吗
|
110
belin520 2021-03-19 12:03:32 +08:00 via iPhone 1
内卷,还要强调外包,这也不是不能用
|
111
PopRain 2021-03-19 12:09:04 +08:00
一周 600 行代码,搁到国外算高效了。。。。5 个错误,你选了一个最没有必要、不是错误的错误吐槽。。。。
|
112
smilenceX 2021-03-19 12:10:27 +08:00
谁还没写过几行烂代码了,这点小事,没必要专门发个帖。
|
113
shifttacn 2021-03-19 12:15:50 +08:00
抄的代码
第二个 null 是后改的 我见过比这个还复杂的 |
114
dingdangnao 2021-03-19 12:18:46 +08:00 4
让我想起了这个段子 ![]( https://cdn.dingdangnao.com/nCloud/mLAlpMDPKynI63m.jpg)
|
115
msaionyc 2021-03-19 12:31:18 +08:00 6
也许有一天会有人贴出你的代码发帖:
新来的专科 /本科同事,这代码,我??? 新来的非 985 同事,这代码,我??? 新来的非博士同事,这代码,我??? 新来的大龄同事,这代码,我??? |
116
Jinnn 2021-03-19 12:31:59 +08:00 4
新来的外包同事: 你歧视外包?
新来的同事: 你歧视新来的? 同事: 你歧视同事? |
117
zeropercenthappy 2021-03-19 12:35:09 +08:00 via Android
@dingdangnao 哈哈哈哈哈笑得我忘了代码写到哪了
|
118
yousabuk 2021-03-19 12:35:49 +08:00 via iPhone
你们工资一样吗?
|
119
comoyi 2021-03-19 12:37:54 +08:00
这个命名有问题,歧义
|
120
EscYezi 2021-03-19 12:49:18 +08:00 via iPhone
这种写法 ide 会有黄色提示的,如果是之前有别的逻辑删了一些代码,不把告警消除了也说不过去啊
|
121
tuomasi 2021-03-19 13:03:41 +08:00
人家写的不好可以提醒一下,还跑论坛上 diss,外包何必为难外包,没准你在甲方眼里:看,狗咬狗
|
122
Arthit 2021-03-19 13:05:07 +08:00
issueStatistics = issueStatistics ?? new List<IssueStatistics>();
|
123
wiluxy 2021-03-19 13:05:48 +08:00 2
文人相轻太正常了,发到论坛里,让大伙批斗一番。
我觉得楼主要是能和这个外包同事指出问题所在,那就更好了 |
125
mingtdlb 2021-03-19 13:21:26 +08:00
这也要发上来?显得你牛逼吗?没什么深仇大恨,背后说人家不好....
|
126
sinopf 2021-03-19 13:28:36 +08:00
外包项目嘛,后期不出点儿 bug,怎么心安理得的收服务费?
|
127
BigBunny 2021-03-19 13:33:39 +08:00
估计是本来有封装逻辑 后面因为什么原因去掉了
|
128
chanchan 2021-03-19 13:35:54 +08:00
你这几张图太不痛不痒了,说实话
|
129
shyling 2021-03-19 13:36:53 +08:00
用嘴不能解决吗,还要发论坛批斗一下?
|
131
jzmws 2021-03-19 13:46:16 +08:00
@sutra 用 null 或者 Collections.emptyList() 都是可以的 , 个人更倾向用 null , Collections.emptyList() 他说静态变量不可变的, 要不然就要先判断 null 在判断 isEmpty , 大部分人空都习惯放回 null 二不会放回 一个空对象
|
132
jzmws 2021-03-19 13:49:34 +08:00
外包不如🐕 能不去做外包就不要去, 夹在中间两边都歧视 . 出了问题都是外包的原因, 用最少的代价干着最多的活 .
|
133
jsjgjbzhang 2021-03-19 14:08:33 +08:00
楼主你是他领导么?我感觉也没多大问题啊,当面沟通下,拿论坛来贴大字报反倒显得小气了点
|
134
ldlood 2021-03-19 14:26:07 +08:00
有什么当面指出,来论坛背后说别人,我觉得你也不咋样
|
135
sakura1 2021-03-19 14:31:11 +08:00
这有点搞啊,还见过这个
if(...){ return true }else{ return false } |
136
7gugu 2021-03-19 14:38:36 +08:00 via iPhone
凑活着用吧,看到就修复一下,反正也不是什么大不了的事,总会写着写着就短路的嘛🤣
|
138
oldmanong 2021-03-19 15:12:33 +08:00 via iPhone
培训班老师:记住啊,你们写代码一定要多检查 null,这样可以让人家觉得你很有经验。楼主同事:记住了
|
139
isnullstring 2021-03-19 15:13:29 +08:00
就这?
|
140
easylee 2021-03-19 15:16:58 +08:00 via Android
非要加外包两个字,何必呢?
搞歧视么。 |
141
hejw19970413 2021-03-19 15:21:17 +08:00
没事 编译器会改成 return issueStatistics
|
142
ws52001 2021-03-19 15:21:24 +08:00
这也有歧视链??
|
143
cgpiao 2021-03-19 15:25:18 +08:00 via iPhone
所以你以后被人鄙视的时候想想自己的所作所为。没大能力,哪来的优越感。
|
144
yrj 2021-03-19 15:33:04 +08:00 via iPad
是不是有绩效?
|
145
cd744639718 2021-03-19 15:36:22 +08:00
哈哈哈,学到了
|
146
liuzhenyu 2021-03-19 15:44:53 +08:00
你以为你在第二层,他在第一层,实际他在大气层
|
147
gwybiaim 2021-03-19 15:46:54 +08:00
@liudaolunhuibl 快别献丑了
|
148
supermao 2021-03-19 15:52:56 +08:00
哈哈哈哈哈哈哈哈
|
149
rapperx2 2021-03-19 15:56:50 +08:00
楼主能贴下你的代码给我们瞧瞧吗?学习学习
|
150
mosliu 2021-03-19 16:03:55 +08:00
这个就不错了。在代码编译的时候应该会优化掉。 扩展性十足。不影响效率。
爆一个前同事,自己号称当年高考数学满分的硕士写的代码 使用 ES 。ES 库每个月也就 1,2T,数据量也不是太大。每条数据有多个现成的相似字段,相似数据条数从没有到几十万都有可能。单条数据量从 1k 到上百 k 都有。每条数据有时间戳字段,这是大环境 需求是,比对一条数据是不是类似数据最早的,返回一个 bool 值。这位的做法是按相似值字段,从 ES 中取出 10000 条不做排序数据的所有的字段到内存中,按照日期字段的字符串直接比较得出结果。 幸亏了他前面程序的一个判断出了 bug (功能故障没被测出来) 这段代码基本上跑不到,不然一次从 ES 拉取取几十 M 的数据做比较。那画面想想真醉了。前两天直接功能全部重写掉才舒心了。 |
151
fakeJas0n 2021-03-19 16:25:27 +08:00
写得有什么毛病?
|
152
gwybiaim 2021-03-19 16:37:46 +08:00
别幼稚了!评《新来的外包同事,这代码,我???》
https://v2ex.com/t/763248 |
153
balckjoker 2021-03-19 16:37:54 +08:00
大家都干一样的活,没必要说出来。
|
154
mitu9527 2021-03-19 16:46:41 +08:00
代码写的差是他的问题,嘲讽他就不太合适了,帮他一把不好么。
|
156
unco020511 2021-03-19 16:52:10 +08:00
高扩展高可用,哈哈
|
158
vicalloy 2021-03-19 17:37:18 +08:00
@Kilerd 问题是没有需要 deepcopy 的东西,返回的对象都是当前函数里构建出来的。当初也怕是 deepcopy 没敢轻易修改。结合整体的”代码风格“,确认就是为了把对象转成`JSON`。
|
159
Gladoos 2021-03-19 17:58:20 +08:00 via iPhone
都是打工人 何必呢
|
161
Labs 2021-03-19 18:56:17 +08:00
都是打工人
|
162
talen666 2021-03-19 19:12:12 +08:00
你是没见过我们公司外包写的代码。。想哭
|
163
JerryCha 2021-03-19 19:21:11 +08:00
除了看起来比较好笑,并没有什么问题。
|
164
jdandelion573 2021-03-19 19:38:18 +08:00 via Android
这算啥 还见过 if(!(!a&&!b)) 的自嗨代码 反正没有 review 当然放飞自我
|
165
proletarius 2021-03-19 20:14:14 +08:00
对自己又有信心了
|
166
snowlyg 2021-03-19 20:35:41 +08:00
代码没有错误就行,纠结那个多没啥用
|
167
auh 2021-03-19 20:40:10 +08:00
实际上,不光外包的存在这样的问题。某些本公司的也是垃圾。
所以说,描述的时候,别带外包。直接说同事垃圾就行了。 我都见垃圾见多了。你还是太年轻了。你见过哪个高手死扣别人不放的。 要么是有强迫症,要么就是没有社会经验,不懂变通。 |
168
auh 2021-03-19 20:42:20 +08:00 1
嘲讽没有错,谁没有这样的垃圾同事。不过谁又总能遇到比自己还优秀,代码写的还钓的人。
心态放平。该喷还喷,千万别认真。仅此而已。 |
169
coolesting 2021-03-19 20:49:56 +08:00 via Android
抄底的人笑没有抄底的人,谁知道接下来是跌还是涨!?
|
170
nowto 2021-03-19 21:29:04 +08:00
可能是他想强调这个方法有可能返回 null
|
171
a7dog 2021-03-19 21:34:29 +08:00
这是什么语言
|
172
Fengyesuixiang 2021-03-19 21:40:35 +08:00 1
外包怎么了,养活多少人你知道吗
|
173
Hapon 2021-03-20 01:17:13 +08:00 via iPhone 2
代码这么写,确实不妥,就像这帖子一样
|
174
SmartKeyerror 2021-03-20 07:57:38 +08:00 via Android 1
“每当你觉得想要批评什么人的时候,你切要记着,这个世界上的人并非都具备你禀有的条件。”
大家都是同事,如果你觉得他写的不好,你可以选择帮他改。 |
175
hankai17 2021-03-20 08:24:52 +08:00 via iPhone
感觉是改出来的结果
|
176
James369 2021-03-20 09:39:39 +08:00
不用纠结这些细节,查查代码的历史记录。这段代码应该是有故事的。
|
177
54skyer 2021-03-20 10:40:21 +08:00
写差代码跟是不是外包没有直接关系,可能几率大点而已。
我以前在腾讯互娱心悦做外包,有一次活动对接 QQ 音乐,别人提供的 js 库对接出了问题,我排查发现是个 bug,联系对接方的正职员工并给出了解决方案,别人最后校验也认可了。但是,让我直接 copy 一份改好之后上传到到互娱心悦的 CDN,相当于一个官方库,让我修复 bug 本地使用,官方库 bug 保留。 另外一个,有个正职大佬带我外包做一个内部项目,让 TX 各个手游接入到自己的游戏内活动页,领取哪些每日每周每月礼包之类的,传个 QQ 或者微信 openid 之类的参数即可,接入网关时候,有个加密校验,游戏客户端因为加密不对导致网关半天接不进去,各个语言的加密代码文档都备好了,包括天美这样的工作室下的游戏都有开发人员半天接不进来需要我协助的。 做到最后,我把自己做得像个客服一样,天天给大佬们沟通问题。 这些问题难吗,我觉得不难,我就一培训出来当时几千块月薪的外包。但这些正职大佬就是有一部分混子,或者不认真的。然后我干了快两年就升了一次外包职级涨了一千块,这个外包升职听说外包一年评估一次,每次通过率在整个外包人员是 10%-15%,涨薪就千把来块,由正职导师推荐。镀金可以,薪资潜力不高,后来我就离职了。 外包也别把自己看轻,别人怎么看不重要,好好提升自己的技术,技术强了,你是外包又怎么样呢,如果比正职还厉害,可能羞愧的是别人。 有想做外包的同事去大厂长下见识还是可以的,可以待个一两年,转正基本不要想,想转职不如好好提升技能到能说服导师的程度,然后让其帮你走社招进入;工作起始比较清闲和稳定,但工作内容可能有点枯燥。空闲的时候抓紧时间学习。正职员工大多都是跟我们一样的普通人,没那么多优越感,抓紧机会多多讨教学习。 提出指出问题容易,解决问题指导别人更难能可贵。 站在顶峰的人就那么一些,我们怎么看下面,上面就可能怎么看我们。 歧视必然存在,尽量不内卷吧; |
178
hantsy 2021-03-20 11:43:13 +08:00
可能写的时候手抖了吧。
判断为 NULL, 返回一个 Collections.emptyList(),这是比较常见的操作。 在 Caller 调用保证所有的 Collection 不为 NULL 。 @54skyer 有些人就喜欢标题来吸引人眼球。 我自己 Freelancer 这么多年,也是接外包项目。没有独立做过外包项目的人,我觉得知识面和动手能力不是一般的差(我帮朋友公司面试过很多人,之前已经举过很多例子)。 |
179
hantsy 2021-03-20 11:53:34 +08:00
@LeroyMooney
一个星期如果写的 600 行高质量的代码已经不错了,比如包含在 CI 上跑过完整的测试,达到要求的 Coverage, 并且代码质量报告评估通过(没有引入新的 bad smell, 没有 duplicate codes, 通过 Sonar,Coday,Code Climate 等工具检测),最终合并到 Master 。 很多时候我一个星期都是写不了 600 行代码的。 如果你写的代码仅仅在你机器能够跑起来,这个标准写出来再多的代码不就是屎山,谁见谁怕。 |
181
lyyhello 2021-03-20 22:07:10 +08:00
代码没毛病。能编译过就不错了。大哥
|
182
snuglove 2021-03-21 13:42:28 +08:00
因为你强调了外包 这可是一个大的群体.
|
183
Gooeeu 2021-03-21 17:57:29 +08:00
@liudaolunhuibl 可以解释下 2 吗?
@anonydmer 写 Java 的时候最怀念的 C++ keyword 是 const, 写 C++ 的时候非常讨厌 const (因为菜。。因为总是标不对).... 第二怀念的是 template 。 |
184
sockball07 2021-03-21 21:19:06 +08:00
|
185
solobat 2021-03-21 22:28:23 +08:00
不是啥大问题,那些自以为是、途有其形的代码更要命,比如 x 度的码神训练营。
|
186
wulinn 2021-03-22 08:56:52 +08:00
感觉没啥问题,这已经是很好的代码了,至少会三目运算
|