[改善Java代码]break万万不可忘
建議15:break萬(wàn)萬(wàn)不可忘
1 public class Client { 2 public static void main(String[] args) { 3 System.out.println("2 = "+toChineseNumberCase(2)); 4 } 5 6 //把阿拉伯?dāng)?shù)字翻譯成中文大寫數(shù)字 7 public static String toChineseNumberCase(int n) { 8 String chineseNumber = ""; 9 switch (n) { 10 case 0:chineseNumber = "零"; 11 break; 12 case 1:chineseNumber = "壹"; 13 case 2:chineseNumber = "貳"; 14 case 3:chineseNumber = "叁"; 15 case 4:chineseNumber = "肆"; 16 case 5:chineseNumber = "伍"; 17 case 6:chineseNumber = "陸"; 18 case 7:chineseNumber = "柒"; 19 case 8:chineseNumber = "捌"; 20 case 9:chineseNumber = "玖"; 21 } 22 return chineseNumber; 23 } 24 }此類問(wèn)題發(fā)生得非常頻繁,但也很容易發(fā)現(xiàn),只要做一下單元測(cè)試(Unit Test),問(wèn)題立刻就會(huì)被發(fā)現(xiàn)并解決掉,但如果是在一堆的case語(yǔ)句中,其中某一條漏掉了break關(guān)鍵字,特別是在單元測(cè)試覆蓋率不夠高的時(shí)候(為什么不夠高?在大點(diǎn)的項(xiàng)目中蹲過(guò)坑、打過(guò)仗的兄弟們可能都知道,項(xiàng)目質(zhì)量是與項(xiàng)目工期息息相關(guān)的,而項(xiàng)目工期往往不是由項(xiàng)目人員決定的,所以如果一個(gè)項(xiàng)目 的單元測(cè)試覆蓋率能夠達(dá)到60%,你就可以笑了),也就是說(shuō)分支條件可能覆蓋不到的時(shí)候,那就會(huì)在生產(chǎn)中出現(xiàn)大事故了。
記住在case語(yǔ) 句后面隨手寫上break,養(yǎng)成良好的習(xí)慣。
對(duì)于此類問(wèn)題,還有一個(gè)最簡(jiǎn)單的解決辦法:修改IDE的警告級(jí)別,例如在Eclipse中,可以依次點(diǎn)擊 Performaces→Java→Compiler→Errors/Warnings→Potential Programming problems,然后修改‘switch’case fall-through為Errors級(jí)別,如果你膽敢不在case語(yǔ)句中加入break,那Eclipse直接就報(bào)個(gè)紅叉給你看,這樣就可以完全避免 該問(wèn)題的發(fā)生了。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/DreamDrive/p/5417559.html
總結(jié)
以上是生活随笔為你收集整理的[改善Java代码]break万万不可忘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C#解压缩文件
- 下一篇: java美元兑换,(Java实现) 美元