编码规范约束方法总结。
1.idea自动识别冗余代码
版本比较新的idea会支持的更好,目前我使用的版本是2019.3
在编码时通过观察idea给出的提示修改对应代码,如图
编码时发现警告的说明idea认为代码中含有不合理的地方,鼠标移动至警告的地方点击即可跳转到指定位置,如图
定位到指定位置之后给出修改建议,上图给出的建议是删除此无用的导入,原因是我将main方法的部分代码注释掉了,但没有删除掉对应的导入类,下边声明了一个变量 i 却没有使用此变量,因此也提示出此变量没有被引用的警告,大多数警告通过鼠标放至对应有问题的代码上,通过idea推荐的方式就可以解决,如图
还有一些无法通过提示快速处理的,例如遇到泛型强制转换时,可以使用 @SuppressWarnings({"unchecked"}) 注解的方式忽略对此类型强制转换的检查,此注解详细使用方法不再阐述,可参考此文章 Java中@SuppressWarnings 。
2.通过插件检查代码异常
目前已经使用过的插件有 Alibaba Java Coding Guidelines 、FindBugs-IDEA 、SonarLint
安装插件的方法很简单,例如安装Alibaba Java Coding Guidelines插件,通过上述链接将插件包下载之后直接拖入idea即可,需要注意安装插件会重启idea,如图
安装成功后通过Tool标签查看并设置
安装完成后即可使用插件对代码进行一系列规范检查并提出修改建议,需要注意的是实时检测这个功能可能在单类代码行数比较多的时候有性能问题,提示比较慢而且影响编码效率,可以在编码时关闭此功能,在代码逻辑形成之后开启扫描,在这点上个人感觉SonarLint上做的比较好。推荐 Alibaba Java Coding Guidelines 和 SonarLint 结合使用,最后修改完成的代码应该是这样的
3.idea自定义注释模板的使用
往往一个开发团队中会出现多种编码风格,而注释方式不统一会导致阅读代码变得困难,这时需要一个通用的注释模板来规范注释。
(1)添加自定义注释模板组
(2)添加自定义模板
模板代码如下
*
*
* @description
$description$
* @author zhangsan
* @date $date$
$param$
* @return $return$
*/
添加完成后填写对应变量值
param栏位的变量值需要使用groovy script脚本重写,脚本代码如下
groovyScript("def result='';def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {num = params.size();if(num==1){result ='* @param ' + params[i] + ' ';}else{ if(i==0){ result ='* @param ' + params[i] + ' \\n'; }else{ result +=' * @param ' + params[i] + ((i < num - 1) ? ' \\n' : ' '); } }}; return result", methodParameters())
应用此注释模板到文件,目前我选择的Java文件
应用成功后
(3)添加了方法注释模板,还有类注释模板没有添加,新建类注释模板,设置方式和方法注释方式一致,快捷键设置为cls
模板代码如下
/**
*
* @description
$description$
* @author zhangsan
* @date $date$
*/
参数设置如下
设置完成后查看注释模板效果
(1)在方法声明上一行使用 /** + Enter 的方式触发自定义方法注释模板,方法注释效果如下
(2)在类声明上一行使用 cls + Enter 方式触发自定义类注释模板,类注释效果如下
为防止遗忘,将此模板导出,使用idea设置导出功能导出此配置
导出的配置文件链接如下:
https://download.youkuaiyun.com/download/qq_36395578/12916774
通过idea导入后可以直接使用。