Java代码质量优化的通用准则

本文探讨了在Java中如何优化switch语句的使用,包括避免遗漏break语句导致的“跨越分支”问题,以及正确放置default语句的重要性。

从编程语言诞生开始,无数的先贤们就一直实践与积累着各种编程经验。这种经验不仅适用于某一门具体的语言,而且形成了一种通用的编程惯例与标准。

在这一系列文章中,我们将全面阐述代码优化的通用准则在Java世界里的应用技巧,第五讲是“如何优雅使用switch语句”。

■优化前代码实例1

动动脑筋:本例代码中有哪些瑕疵,应该如何优化?

☆代码1:Before类

Java代码质量优化的通用准则

■现象类别

惯例

■现象描述

在switch语句中省略掉break或default语句;或者乱放default语句。

■不利影响分析

在switch语句里,如果缺少跳出语句,就会出现“跨越分支”的情况。可能会有人疑问,这种问题会在单体测试时发现。然而任何人都有疏忽,如果程序逻辑判断很复杂,从单体测试到系统上线都没发现的话,这样的Bug就成了漏网之鱼。如果你想学习java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

另外,缺少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类

Java代码质量优化的通用准则

来源出处:mingli

有兴趣的朋友们可以前往球球哦~一起分享学习技术:2042849237

解析:

代码1第6行之后忘记了break语句,同时需要把default语句调整到所有case语句之后。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值