如何写出高质量Java代码?看看这篇高标准代码开发规范吧
推荐
一. 为什么需要代码质量规范
1.代码质量不规范的影响
1.1 新手开发
新手在学习和开发过程中,不可避免的会发生一些莫名其妙的问题;凭习惯编写代码,后续再重构优化代码,重走旧路,延缓了开发能力的提高。
1.2 代码不止是运行
无论哪个开发都自认为自己的代码是完美易懂的,不需优化的,认为其他开发者的代码都是有优化空间,或者需要重构的,或者逻辑有问题。
1.3 代码漏洞
实现功能代码过程中,有场景丢失,测试遗漏,导致发布正式环境后有隐患。
1.4 性能影响
单个测试运行正常,压力测试就不通过,内存和CPU都增长迅速。
1.5 无用、无效代码
不断的迭代后,有部分代码不会用到,代码越来越多,影响应用的构建。
1.6 一个方法或者一个类超长。
类或者方法掺杂了其他功能实现,代码长,变成了上帝类,不利于后续的优化扩展复用。
2.代码质量规范的好处
新手开发快速成长
俗话说三岁定八十,坏习惯很容易养成,以后就积习难改;好习惯就需要持之以恒才可以形成。
功能实现大家都会,但是如何高效、高扩展的实现就需要高质量的代码。坚持高质量的代码,对以后的工作受益匪浅。
利于开发的能力提高;
利于后续代码的扩展和维护;
利于应用的高可用;
利于降低代码的成本;
利于提高开发效率。
二. 有哪些代码质量规范的工具
1.SonarLint
SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时解决质量和安全问题。像拼写检查器一样,SonarLint 会显示缺陷并提供实时反馈和清晰的修复指导,以便从一开始就提供干净的代码。Sonar从一个质量数据报告工具,转变成为的代码质量管理平台,主要特点如下:
代码覆盖:通过单元测试,将会显示哪行代码被选中;
改善编码规则;
搜寻编码规则:按照名字,插件,激活级别和类别进行查询;
项目搜寻:按照项目的名字进行查询;
对比数据:比较同一张表中的任何测量的趋势。
2.Alibaba Java Coding Guidelines
阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描)。专注于Java代码规范,而且默认采用中文。
插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,提升代码质量,提高团队研发效能,是很有必要的。
三. 代码质量规范工具的使用
我们以IDEA开发工具为例。
1.SonarLint
1.1 安装
安装路径:打开Preferences>>左边的plugins>>右边选择Marketplace>>输入框中输入sonar,回车开始搜索,如下图所示:
点击左边的 Install 按钮,开始安装,等安装后,需要重启IDEA,如下图所示:
安装成功后,plugins的Installed页面中左边就有插件,如下图所示:
1.2 使用
可以选择某个类、某个包、某个应用,右键点击,选择SonarLint,如下图所示:
1.3 检测结果
扫描代码的结果有5个等级:阻断(Blocker)>>严重(Critical)>>主要(Major)>>次要(Minor)>>提示(Info)
阻断和漏洞是必须整改,其他的优先级不高,但也需要消灭的。如下图所示:
这个是提示switch中的某个case少了break。学习开发过程中,switch中每个case都需要break,如果2个case的处理逻辑是一样的,就将2个case紧接着写即可。
2. Alibaba Java Coding Guidelines
2.1 安装
安装路径:打开Preferences>>左边的plugins>>右边选择Marketplace>>输入框中输入alibaba,回车开始搜索。如下图所示:
重启IDEA,安装成功,如下图所示:
右键点击文件或者包名或者应用名称,可以看到编码规约扫描:
2.2 使用
扫描结果如下图所示:
其中一个结果:
四. 总结
我们在前期开发过程中,当某个任务开发完成,虽然代码量少,也可以运行代码质量检查工具,对代码进行检测,避免上线后再修改,降低维护成本。另外在后续的开发中,形成良好习惯,可以提高代码的质量规范。对每个扫描结果,都有整改建议和例子。高质量、高性能的代码,可以获得同事、上司的青睐。