回覆列表
-
1 # 機器矩陣
-
2 # 國輝64987694
團隊開發中儘量不要用花裡胡哨的技巧,不能保證每個人都不踩坑。個人開發時按自己舒服的方式開發,沒bug,沒效能問題就行。
-
3 # 方方方的偽宅
首先告訴你結論:是規範
那麼這個規範是必須遵守的嗎?
結果是不是的。在寫程式碼過程中,必須保證程式碼的可讀性,穩定性,儘可能的不要出現bug。而在這個基礎上,程式碼卻是由業務驅動的,可能由於業務的特性,你不得不打破這一條規律,那麼你只需要保證的是,不要造成死迴圈,在迴圈中一定要有break等字眼來終結迴圈條件。
因此,這裡需要明確2點:
1.程式碼的規範之所以是規範,是為了保證程式碼在大部分情況下,都能保證自身的穩定性。
2.以業務驅動的程式碼邏輯,並不會完全遵循程式碼本身的規範,具體的實現並不能依靠規範本身去維護程式碼的穩定性,而需要你自身的邏輯去補充。
-
4 # 低調著末路
你好,不知道你說的這個改變迴圈變數是指的foreach的迴圈變數名不能改變還是說for迴圈中不能改變集合中的元素。
如果是第一種,我認為應該算是一種語言規範,尤其在foreach迴圈中比較明顯,其實這個變數名一般不變是因為我們不會對這個變數名稱做過多的處理,它其實就是一箇中間的臨時變數,類似於我們有一個數組,陣列的每一個元素在參與邏輯處理時首先都會先獲取到這個元素,比如Array[i],這時候我們就可以直接用它來處理業務邏輯,但是由於foreach迴圈中無法這樣來獲取,所以就給了一個臨時變數,而且每一次迴圈的變數名稱都一樣。
-
5 # 小書童neyo
你應該是說遍歷集合,顯示改變集合大小會觸發fast fail異常對吧?用迭代器就完事了!java 8後用stream遍歷
不改變迴圈變數是死迴圈。不是規範。
業務需要時,可以用死迴圈。需要跳出時使用break。
一般情況下迴圈變數需要改變,才是正確的迴圈。