博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[改善Java代码]break万万不可忘
阅读量:6992 次
发布时间:2019-06-27

本文共 1374 字,大约阅读时间需要 4 分钟。

建议15: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 }

此类问题发生得非常频繁,但也很容易发现,只要做一下单元测试(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直接就报个红叉给你看,这样就可以完全避免 该问题的发生了。

 

 

转载于:https://www.cnblogs.com/DreamDrive/p/5417559.html

你可能感兴趣的文章
Java中构造方法、实例方法、类方法的区别
查看>>
字节流转换为对象的方法
查看>>
2018-2019-1 20165226 《信息安全系统设计基础》第1周学习总结
查看>>
BZOJ2743:[HEOI2012]采花——题解
查看>>
android webview 视频相关
查看>>
oracle数据集合的操作
查看>>
[转] word2vec
查看>>
欧洲大陆
查看>>
基于Java反射的map自动装配JavaBean工具类设计
查看>>
文件复制
查看>>
svn创建版本库和删除版本库
查看>>
Android系统联系人全特效实现(上),分组导航和挤压动画
查看>>
ATS项目更新(4) 更新DLL到远程服务器
查看>>
Bzoj 1426 收集邮票
查看>>
mysql面试题
查看>>
mac 多显示器焦点快速切换
查看>>
第六周学习进度报告
查看>>
【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结 分类: ...
查看>>
[译]ZOOKEEPER RECIPES-Leader Election
查看>>
微信小程序用户数据解密
查看>>