且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

break万万不可忘

更新时间:2022-09-17 11:19:42

break万万不可忘
 1 public class Client {  
 2     public static void main(String[] args) {  
 3           System.out.println("2 = "+toChineseNumberCase(2));  
 4     }  
 5      
 6     //把阿拉伯数字翻译成中文大写数字  
 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 }
break万万不可忘

此类问题发生得非常频繁,但也很容易发现,只要做一下单元测试(Unit Test),问题立刻就会被发现并解决掉,但如果是在一堆的case语句中,其中某一条漏掉了break关键字,特别是在单元测试覆盖率不够高的时候(为什么不够高?在大点的项目中蹲过坑、打过仗的兄弟们可能都知道,项目质量是与项目工期息息相关的,而项目工期往往不是由项目人员决定的所以如果一个项目 的单元测试覆盖率能够达到60%,你就可以笑了),也就是说分支条件可能覆盖不到的时候,那就会在生产中出现大事故了。

记住在case语 句后面随手写上break,养成良好的习惯。

对于此类问题,还有一个最简单的解决办法:修改IDE的警告级别,例如在Eclipse中,可以依次点击 Performaces→Java→Compiler→Errors/Warnings→Potential Programming problems,然后修改‘switch’case fall-through为Errors级别,如果你胆敢不在case语句中加入break,那Eclipse直接就报个红叉给你看,这样就可以完全避免 该问题的发生了。

break万万不可忘

 

break万万不可忘

 



本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5417559.html,如需转载请自行联系原作者