190 条回复  ·  1722 次点击
kile 小成 2024-9-5 03:16:06

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

我觉得的话分两层 if
第一层区分 cell value

第二层 if 判断各种条件

if(cellValue=='项目 1'){
    if(条件 a&&条件 b){
        显示该列
    }
}else if(cellValue=='项目 1'){
    if(条件 a&&条件 b){
        显示该列
    }
}

改到这种程度就好,也不会过长到一屏看不全逻辑,也方便之后逻辑修改
mohuani 初学 2024-9-5 08:36:45

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

多半可以用 easyExcel 优化一下
JeremyFeng 小成 2024-9-5 08:38:06

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

@AlexRoot #17 同问,代码如何一次性截这么长的图?
hafuhafu 小成 2024-9-5 08:52:45

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

赶时间这么做倒是能理解,写个简单映射条件,然后代码生成一下,然后增加部分特殊的逻辑,应该不会有人手写这么长吧。
但是这明显也不太直观啊,整个代码块就很长,判断条件看着也长,看着好像工工整整,谁知道哪有啥坑,本来就没啥复杂逻辑,重构不重构都没性能问题,就是一个 dirty work 罢了。就算抽象出来,找具体的片段一样不会有啥困难,又不用封装很多层。
这种重复度高、本身逻辑并不复杂的如果有富裕时间确实可以好好设计一下,项目中肯定很多地方会用到的,导出 Excel 也算基础设施了吧,没时间就凑合来吧。
jeffw 小成 2024-9-5 09:00:22

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

可读性可维护性拉满,心智负担低,在我看来这代码挺好。瞎封装就能显得很高大上了?
zgsi 小成 2024-9-5 09:02:24

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

你还别说,你重构一个发出来看看
dupenn 小成 2024-9-5 09:08:10

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

又不是不能用.jpg🤣
cocong 小成 2024-9-5 09:14:37

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

我截取了部分代码让 gpt 优化,都差不多也是将判断逻辑放到 map ,改成字典查找执行,并没有优雅多少,反而阅读起来没这个容易。

另外,业务和技术还是有区别的,技术通常有规律且稳定,很容易抽象,而业务则通常没什么规律还特复杂多变,所以业务代码你再怎么封装优化,都是无法屏蔽其本身复杂性的,业务可能会因为你的抽象而简化,而技术通常可以。并且业务的变化,经常是超出了封装的承受范围,毕竟封装说白了是搭好了架子,但业务是可以直接整个需求不要重新推到重来,那封装除了增加加班时长还能干嘛。

真是应验网上流行的那句话:拿三千块钱工资,为老板操碎了心。老板都没想过业务长期发展,你反而考虑代码永久不变。
liuidetmks 小成 2024-9-5 09:17:18

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

看起来,这个可能一个月运行一次?
一把梭没什么问题。
THESDZ 小成 2024-9-5 09:18:40

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

这个代码不能算差,当然也不能算好,按照我的习惯,应该会将模板相关的,在外部定义
封装一个方法,参数是 excel 数据和模板配置,输出结果数据。可以考虑配置对象带泛型,让代码更优雅
返回顶部