建议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万万不可忘相关推荐

  1. java 代码解析工具_改善 Java 代码质量的工具与方法

    原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...

  2. 改善Java代码有哪些方法?

    前言 Java是一门优秀的面向对象的编程语言,针对遇到同样的一个问题会有很多中解法哪种实现方法是最好的呢,还需要不断的探究JDK的底层原理.我会例出Java改善的建议哦,希望大家可以在平时开发工作去使 ...

  3. java switch null_[改善Java代码]小心switch带来的空值异常

    使用枚举定义常量时,会伴有大量的switch语句判断,目的是伪类每个枚举项解释其行为,例如: 1 public classClient {2 public static voidmain(String ...

  4. [改善Java代码]线程优先级只使用三个等级

    线程的优先级(priority)决定了线程获得CPU运行的机会,优先级越高获得的运行机会越大,优先级越低获得的机会越小.Java的线程有10个级别(准确的说是11个级别,级别为0的线程是JVM,应用程 ...

  5. [改善Java代码] 避免instanceof非预期结果

    建议18: 避免instanceof非预期结果 instanceof是一个简单的二元操作符,它是用来判断一个对象是否是一个类实例的,其操作类似于>=.==,非常简单,我们来看段程序,代码如下: ...

  6. [改善Java代码]避开基本类型数组转换列表陷阱

    开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import ...

  7. Java不同场景加载不同类_[改善Java代码]不同的场景使用不同的泛型通配符

    Java泛型支持通配符(Wildcard),可以单独使用一个"?"表示任意类,也可以使用extends关键字标识某一类(接口)的子类型,还可以使用super关键字标识某一类(接口) ...

  8. [改善Java代码]不要主动进行垃圾回收

    建议51: 不要主动进行垃圾回收 很久很久以前,在Java 1.1的年代里,我们经常会看到System.gc这样的调用-主动对垃圾进行回收.不过,在Java知识深入人心后,这样的代码就逐渐销声匿迹了- ...

  9. [改善Java代码]适时选择不同的线程池来实现

    Java的线程池实现从最根本上来说只有两个:ThreadPoolExecutor类和ScheduledThreadPoolExecutor类,这两个类还是父子关系,但是Java为了简化并行计算,还提供 ...

最新文章

  1. 人工智能ai 学习_人工智能中学习代理的要素
  2. jQuery+css3实现新年贺卡
  3. ArcGIS线转面的方法
  4. 第二次作业+105032014149
  5. 【原创】通俗易懂地解决中文乱码问题(1) --- 跨平台乱码
  6. [贪心算法] 例6.2 今年暑假不AC
  7. python课程-天津Python编程课程
  8. 计算机系统中字word的描述性定义是,计算机基础练习题1
  9. 弹出ifame页面(jquery.reveal.js)
  10. 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
  11. SharePoint 2010 中型场(Farm)——性能研究(来自DeLL技术中心博客)
  12. atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
  13. LAMP架构简介与配置
  14. Win7免费升级Win10
  15. maven安装配置:报错NB: JAVA_HOME should point to a JDK not a JRE
  16. matlab交流电路仿真,单相交流调压电路Matlab仿真
  17. xUtils框架的介绍
  18. 记一次瞬时网络挂起和XMLHttpRequest: 网络错误 0x2eff
  19. 修改cnn梯度下降——MEO方法应用
  20. canvas轨迹运动, 利用向量实现点匀速运动

热门文章

  1. VTK:可视化算法之Office
  2. 为Qt Designer创建自定义Widgets小部件
  3. C语言二叉树一个节点的所有祖先节点(附完整源码)
  4. C语言在数组中找到最大的元素(附完整源码)
  5. C++KMP算法字符串匹配(附完整源码)
  6. C语言实现基数排序Radix sort算法之一(附完整源码)
  7. C语言实现pid算法(附完整源码)
  8. forward_list容器
  9. C++ Opengl 透明纹理源码
  10. Hadoop - YARN NodeManager 剖析、NodeManger内部架构、分布式缓存、目录结构、状态机管理、Container 生命周期剖、资源隔离