网上看到的段子照进了现实,这种代码出现在我的项目中!

69 天前
 szpinc1102

给大家观摩一下,给我看傻了

23589 次点击
所在节点    程序员
227 条回复
meeop
69 天前
我觉得写得挺好的,逻辑简洁清晰易于维护


如果觉得这都不好,你手动封装成其他逻辑,出了 bug 你背锅就行
如果不敢这么做,这也是上一个人不这么做的原因
toan
69 天前
挺好,要逻辑有逻辑,要代码量有代码量,还能正常运行 👍
5sheep
69 天前
我对这段代码的评价是:满意
byc4i
69 天前
看到等保测评,不知道是不是某地网安部门的外包。你这个属于泄露源码了。
yhxx
69 天前
曾经我也觉得看不下去
现在我也这么写
清晰易懂,更重要的是代码量拉满了
lisxour
69 天前
最起码一目了然,你就该偷笑了
barrysj
69 天前
全量 map 还是省不了的吧,顶多把 set true 那行抽出来
wangritian
69 天前
不考虑反射吗,真的一行行硬写
QXDM
69 天前
fresco
69 天前
好奇有更好的写法吗
hekunhotmail
69 天前
gpt 一键重构
RobertWu
69 天前
真诚发问,反射要怎么写?
janda
69 天前
代码和人有一个能跑就行
opengps
69 天前
我问下更好的写法是啥?我有过类似的经历,因为具体字段完全是现场要求的,没法提前知道,所以做成了一个批量赋值的模式,别看内容多,其实只是几下纵向复制粘贴就能出来这么多代码
NEPv5NA6R8R3Y11u
69 天前
daybreakfangyang
69 天前
看着头大🤦‍♂️,空指针警告
wyx119911
69 天前
其实还不错的,很清晰。如果是我的话会改成用 switch case 优化下分支判断的性能,但大体结构保持。
ShaoLongFei
69 天前
@QXDM 我觉得这种代码明显更糟糕
teenight
69 天前
你行你上
panlatent
69 天前
改 if-else 到 switch :

title = cell.getStringCellValue()
switch (title) {
case "xxxx":
break;
}

这样可以确保每列处理方法集中在一个 case 。

对于最多的检查+隐藏操作,可以封装为一个函数来改进 if 结构:
hiddenColumnIfNot(dto.getExpartColumn().getAppProject().isProjectYea())

dto.getExpartColumn() 输入起来费劲可改成一个中间变量

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

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

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

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

© 2021 V2EX