Java代码质量优化的通用准则(第5讲)
Posted IT有得聊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java代码质量优化的通用准则(第5讲)相关的知识,希望对你有一定的参考价值。
导 语
从编程语言诞生开始,无数的先贤们就一直实践与积累着各种编程经验。这种经验不仅适用于某一门具体的语言,而且形成了一种通用的编程惯例与标准。
在这一系列文章中,我们将全面阐述代码优化的通用准则在Java世界里的应用技巧,第五讲是“如何优雅使用switch语句”。
动动脑筋:本例代码中有哪些瑕疵,应该如何优化?
☆代码1:Before类
惯例
在switch语句中省略掉break或default语句;或者乱放default语句。
在switch语句里,如果缺少跳出语句,就会出现“跨越分支”的情况。可能会有人疑问,这种问题会在单体测试时发现。然而任何人都有疏忽,如果程序逻辑判断很复杂,从单体测试到系统上线都没发现的话,这样的Bug就成了漏网之鱼。
另外,缺少default使得switch语句不完整,而乱放default语句会使得代码的可读性非常差。
1.(C)Fall Through
2.(C)Missing Switch Default
3.(C)Default Comes Last
每个case都需要break、return、throw或continue等跳出语句,而且即使我们相信代码已经覆盖掉了所有的可能分支,应当有一个分支是给default的(可以认为总共有N个分支,前N-1为case语句部分,第N个就是default部分,可类似于if-else)。另外,Default语句要位于最后一个case分支之后,这样会使代码更加优雅。
※温馨提示——如何让Eclipse对switch使用方法进行验证?
对于“跨越分支”以及“缺少default”的检测,还可修改Eclipse的IDE的警告级别来提示switch语句使用的正确性。
实例1优化后
☆代码2:After类
解析:
代码1第6行之后忘记了break语句,同时需要把default语句调整到所有case语句之后。
以上内容节选自《Java代码与架构之完美优化——实战经典》
作者简介:
颜廷吉 北京大学软件工程硕士毕业
上海颐凡软件科技有限公司 创始人兼首席架构师
曾在日本最大的软件企业NTT DATA工作多年
曾参与开发:
日本厚生劳动省HelloWork大型国家项目(富士通)
日本国家饮料自动贩机检量大型商业项目(NTTDATA )
日本国家香烟自动贩检量二期大型商业项目( 日立)
以上是关于Java代码质量优化的通用准则(第5讲)的主要内容,如果未能解决你的问题,请参考以下文章
转载----编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议1~5)
编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议6~10)
编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)
编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议11~15)