簡體   English   中英

我為什么要避免使用Java標簽語句?

[英]Why should I avoid using Java Label Statements?

互聯網上的每個人都說你應該避免在java中使用標簽語句。 但是,我發現它們在某些情況下非常有用,即嵌套循環。
我找不到令人滿意的答案,為什么不使用它們。 我認為標簽的替代品往往會降低可讀性或性能,或兩者兼而有之。

那么什么使得標記的破壞和繼續陳述如此糟糕?

標簽完全可以打破嵌套的for循環。

PS:就個人而言,我建議(並且我與Kent Beck一致,請參閱他的實現模式書)將嵌套循環放在一個單獨的方法中,然后以return方式突破,但這會引發憤怒的“單一回歸點“人們對我說。 互聯網,哦,互聯網。

我發現標記的斷點和繼續聲明都是完全沒必要的。 這只是一種風格。 還有其他方法可以達到相同的效果,很多人更喜歡這些。

最常見的爭論是,他們很難為初學者解釋。 另一個論點是(太多)嵌套循環被認為是不好的做法; 換句話說,當你看到一個標簽時,幾乎可以肯定是一個嵌套的循環,這使得標簽因此隱含着壞。 通常的做法是將嵌套循環重構為方法。 這應該提高可維護性和其他類似的東西。 但是,如果嵌套循環只是在幾行代碼中沒有做明顯的事情,那么在我看來它是完全可以承受的。

只要方法只做一件事,只做一件事並做得好,就不需要避免標簽。

但是,如果需要標記的中斷和繼續語句,只需進行快速的心理檢查,如果方法仍然具有足夠的內聚性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM