[改善Java代码]break万万不可忘
建议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代码]break万万不可忘相关推荐
- java 代码解析工具_改善 Java 代码质量的工具与方法
原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...
- 改善Java代码有哪些方法?
前言 Java是一门优秀的面向对象的编程语言,针对遇到同样的一个问题会有很多中解法哪种实现方法是最好的呢,还需要不断的探究JDK的底层原理.我会例出Java改善的建议哦,希望大家可以在平时开发工作去使 ...
- java switch null_[改善Java代码]小心switch带来的空值异常
使用枚举定义常量时,会伴有大量的switch语句判断,目的是伪类每个枚举项解释其行为,例如: 1 public classClient {2 public static voidmain(String ...
- [改善Java代码]线程优先级只使用三个等级
线程的优先级(priority)决定了线程获得CPU运行的机会,优先级越高获得的运行机会越大,优先级越低获得的机会越小.Java的线程有10个级别(准确的说是11个级别,级别为0的线程是JVM,应用程 ...
- [改善Java代码] 避免instanceof非预期结果
建议18: 避免instanceof非预期结果 instanceof是一个简单的二元操作符,它是用来判断一个对象是否是一个类实例的,其操作类似于>=.==,非常简单,我们来看段程序,代码如下: ...
- [改善Java代码]避开基本类型数组转换列表陷阱
开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import ...
- Java不同场景加载不同类_[改善Java代码]不同的场景使用不同的泛型通配符
Java泛型支持通配符(Wildcard),可以单独使用一个"?"表示任意类,也可以使用extends关键字标识某一类(接口)的子类型,还可以使用super关键字标识某一类(接口) ...
- [改善Java代码]不要主动进行垃圾回收
建议51: 不要主动进行垃圾回收 很久很久以前,在Java 1.1的年代里,我们经常会看到System.gc这样的调用-主动对垃圾进行回收.不过,在Java知识深入人心后,这样的代码就逐渐销声匿迹了- ...
- [改善Java代码]适时选择不同的线程池来实现
Java的线程池实现从最根本上来说只有两个:ThreadPoolExecutor类和ScheduledThreadPoolExecutor类,这两个类还是父子关系,但是Java为了简化并行计算,还提供 ...
最新文章
- 人工智能ai 学习_人工智能中学习代理的要素
- jQuery+css3实现新年贺卡
- ArcGIS线转面的方法
- 第二次作业+105032014149
- 【原创】通俗易懂地解决中文乱码问题(1) --- 跨平台乱码
- [贪心算法] 例6.2 今年暑假不AC
- python课程-天津Python编程课程
- 计算机系统中字word的描述性定义是,计算机基础练习题1
- 弹出ifame页面(jquery.reveal.js)
- 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
- SharePoint 2010 中型场(Farm)——性能研究(来自DeLL技术中心博客)
- atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
- LAMP架构简介与配置
- Win7免费升级Win10
- maven安装配置:报错NB: JAVA_HOME should point to a JDK not a JRE
- matlab交流电路仿真,单相交流调压电路Matlab仿真
- xUtils框架的介绍
- 记一次瞬时网络挂起和XMLHttpRequest: 网络错误 0x2eff
- 修改cnn梯度下降——MEO方法应用
- canvas轨迹运动, 利用向量实现点匀速运动
热门文章
- VTK:可视化算法之Office
- 为Qt Designer创建自定义Widgets小部件
- C语言二叉树一个节点的所有祖先节点(附完整源码)
- C语言在数组中找到最大的元素(附完整源码)
- C++KMP算法字符串匹配(附完整源码)
- C语言实现基数排序Radix sort算法之一(附完整源码)
- C语言实现pid算法(附完整源码)
- forward_list容器
- C++ Opengl 透明纹理源码
- Hadoop - YARN NodeManager 剖析、NodeManger内部架构、分布式缓存、目录结构、状态机管理、Container 生命周期剖、资源隔离