歡迎您光臨本站 註冊首頁

坑爹代碼 | 你寫過的最長的一行代碼有多長???

←手機掃碼閱讀     admin @ 2019-05-30 , reply:0

你寫過的最長的一行代碼有多長嗎?你為什麼要寫這麼長?是看著帥呢,還是想減少代碼行數?


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


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/107081/gitee-bad-code-one-line-code
坑爹代碼 | 你寫過的最長的一行代碼有多長???已經有302次圍觀

http://coctec.com/news/all/show-post-206015.html