原标题:Java代码质量优化的通用准则
导 语
从编程语言诞生开始,无数的先贤们就一直实践与积累着各种编程经验。这种经验不仅适用于某一门具体的语言,而且形成了一种通用的编程惯例与标准。
在这一系列文章中,我们将全面阐述代码优化的通用准则在Java世界里的应用技巧,第五讲是“如何优雅使用switch语句”。■优化前代码实例1
动动脑筋:本例代码中有哪些瑕疵,应该如何优化?
☆代码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新人自学交流群:202250194返回搜狐,查看更多
责任编辑: