坑爹代码|你写过的最长的一行代码有多长???

你写过的最长的一行代码有多长吗?你为什么要写这么长?是看着帅呢,还是想减少代码行数?

List<OperationPurchaseInfo> purchaseInfoList = sheet.getPurchaseInfoList().stream().filter(purchaseInfo ->
purchaseInfo.getExteriorOperation().getExteriorPart().getExteriorOperationList().stream()
.filter(exteriorOperation -> exteriorOperation.getProcessState().equals(ExteriorOperation.ProcessState.PROCESSING)).count() != 0
//订单明细中工序对应的工件下的其他工序存在加工中,且已发给供应商且供应商不是当前订单供应商时,需要判断
&& (purchaseInfo.getExteriorOperation().getExteriorPart().getTeamwork() == null ||	!purchaseInfo.getExteriorOperation().getExteriorPart().getTeamwork().equals(sheet.getTeamwork()))
).collect(Collectors.toList()); 

上面这段代码虽然被拆开多行显示,但本质上是一行,一个极其复杂的赋值语句!

这种代码是不是为了让别人看不懂来彰显自己的编码水平呢?

小编觉得 Java Stream API 以及各种函数式编程方法,以及各种语法糖在某种程度让这种糟糕代码越来越多!

那么一起来批判一下这个代码,或者你有什么好的解决方案呢?

到下面链接发表评论,领取奖品:

https://gitee.com/oschina/bullshit-codes/blob/master/java/ShortIsRight.java

码云 6 周年,我们正在征集各种坑爹代码,超多惊喜奖品等你来拿!

详细的参与方法请看  https://gitee.com/oschina/bullshit-codes

ps:在活动期间参与投稿每天都有机会获得程序员必备到霸王防脱洗发液+头皮营养液(程序员专属套装)噢

发布了73 篇原创文章 · 获赞 14 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/ZicoChan/article/details/90700020