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

66 天前
 szpinc1102

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

23508 次点击
所在节点    程序员
227 条回复
ConquerZ
66 天前
你们都能看到图吗
Track13
66 天前
还行,我手上一个项目一个 vue 页面 6000 多行,一个 echart 图表依赖 2 个 json ,文件合计 20 几 k😢
woodwhales
66 天前
这段代码,从语法结构上看是 Java 。可以推测这段代码在导出 excel 文件并设置满足条件的指定列进行隐藏。如果是我重构,我能想到的是去除多重 if else ,用 map 集合先保存每个条件,然后一个循环遍历 map 中是否存在满足条件。伪代码如下:

```java

// 业务逻辑外部定义
static Map<String, Function<ExportColumn>> map = new HashMap<>();

static {
map.put("服务器名称", data -> !data.getAppServer().isServerName());
}


// 业务逻辑内

if(map.containsKey(cell.getStringValue())) {
boolean flag = map.get(cell.getStringValue()).apply(dto.getExportColumn());
sheet.setColumnHidden(index, flag);
}

```
ooxx2123
66 天前
要我重构的话,也是 23L 的思路,好奇大家有什么其他方式吗?
或者保留原样,我感觉也还好,就是看起来不太简洁。
potatowish
66 天前
excel 导入导出是初级 java 必备技能,怎么把很容易写成💩的代码写的优雅这就是中级 java 的技能了
ma836323493
66 天前
用反射, 另外 model 上一般也有注解 ApiModelProtery
yb2313
66 天前
丑陋的 equal
ice
66 天前
挺好,我想不到重构的方法,而且也没想到最后生成的 Excel 是个多复杂的玩意
loocao
66 天前
清晰明了,简单又方便维护
adminii
66 天前
项目组代码量考核,第一了
awalkingman
66 天前
@yul36074 第一次加载需要挺长时间
chenyu8674
66 天前
虽然不优雅,但好处是随便换个开发都能懂

离真正的屎山差远了
jackOff
66 天前
整个枚举类,初始化时把枚举类灌入一个 map 里面
xiaoshengwpp
66 天前
这代码写的很优雅啊,谁上手看一眼都能维护的来。
justfindu
66 天前
先不要吐槽, 先改一版你觉得好的. 一起放出来
luohaiyang
66 天前
又不是不能用,狗头
angenin
66 天前
@adminii 这个方法写完,当天代码行数的任务量直接完成🤣
junwind
66 天前
这种千万千万不要想着重构,能跑就行。
enihcam
66 天前
这不是代码问题,这是管理问题。
enihcam
66 天前
如果老板是“能用就行”的心态,这个团队长不了。

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

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

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

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

© 2021 V2EX