幾天前,我開始了一個快速開源項目,當一些隊友看着svn上的代碼時,其中一個人告訴我在for
循環中使用break
聲明被認爲是有害的,不應該這樣做。使用「break」打破「for」循環被認爲是有害的?
但他補充說,我會在Linux內核源代碼的for
循環內發現break
語句的幾個例子,但那只是因爲只有Linus Torvalds和Chuck Norris被允許使用它而沒有其他人。
您認爲如何?在for
循環中使用break
時,我看不到任何問題。在我看來,使用布爾變量或類似的東西來模擬break
的行爲會增加很多不必要的開銷,並且使代碼更簡單。
此外,沒有空間與goto
進行比較,因爲break
不能任意改變程序從一個點到另一個點的位置,goto
。
重複的問題:http://stackoverflow.com/questions/216359/break-statements-in-the-real-world 而另一個,關閉作爲重複:http://stackoverflow.com/questions/616339/ is-break-evil – 2010-07-10 01:35:12
雖然我認爲'continue'被認爲是「有害的」,但在與「goto」相同的聯盟中(兩者都可以是有用的,但都可以隱藏代碼)。個人而言,「休息」對我來說看起來很好。 – 2010-07-10 01:44:04
我經常使用'break',並且經常使用'continue'。我認爲 - 同樣的事情適用於多個存在,Delphi' while'語句等等 - 在大多數情況下,當有人說「不使用X構造」時,他/她是不太習慣於編寫複雜的算法和/或他/她對手邊語言不太熟練。因爲,如果一個人對手邊的語言非常有經驗,那麼就知道如何使用這個構造,如果人們經常編寫複雜的算法,那麼人們會喜歡所有這些構造。 – 2010-07-10 19:44:15