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

2024-09-04 11:46:59 +08:00
 szpinc1102

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

29545 次点击
所在节点    程序员
227 条回复
meeop
2024-09-04 14:06:19 +08:00
我觉得写得挺好的,逻辑简洁清晰易于维护


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

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

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

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

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

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

https://ex.noerr.eu.org/t/1070137

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

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

© 2021 V2EX