联系我

拒绝代码坏味道-IDEA插件推荐

2020.06.13

前言

作为一个有追求的程序猿,应该有一点代码洁癖,要尽量减少代码坏味道。业内比较知名的一个产品是SonarQube,做了很多检查集成。今天主要推荐一些代码静态检查插件,识别项目中不合规范的代码,帮助提高代码的质量。本文要介绍的三个静态检查插件分别是:

  • Alibaba Java Coding Guidelines 阿里基于他们 Java 规范提供的插件
  • CheckStyle-IDEA 检查代码的格式是否符合规范
  • FindBugs-IDEA 检查代码是否有常见的一些 Bug

Alibaba Java Coding Guidelines

阿里有一份代码规约指南,从编程规约、异常日志、单元测试、MySQL数据库、工程结构、设计规约等角度详细地阐述了各种场景的开发规范,而Alibaba Java Coding Guidelines就是在这份规约指南的基础上开发出来的,通过扫描并检查你写的代码当中不符合规约指南里的内容并提醒你修改。建议在 IDEA 进行代码提交时,勾选上它提供的检查项按钮,这样如果有不合规的代码进行提交,就会提醒你修改

CheckStyle-IDEA

它也可以在IDEA的插件仓库当中找到,安装好以后,进入插件设置,勾选上你想要选用的默认检查规范,最后在页面右键点选Check Current File就好了。如果不符合规范的写法有点多,整改起来就会很痛苦了,这时候该怎么办?有一个功能叫格式化代码(Reformat Code),快捷键分别是:

  • Mac:Command+Option+L
  • Win:Ctrl+Shift+L

FindBugs-IDEA

FindBugs是一款老牌Java静态检查插件了,相比于前面两种插件,它更加国际化一些。它可以查找到代码中隐藏的bug片段并给出参考修改建议。同样,安装好以后,在右键菜单当中会出现它的一些检查选项,含义解释如下:

  • Analyze Current File:检查当前文件
  • Analyze Class uner Cursor:检查光标处的类
  • Analyze Package Files:检查包文件
  • Analyze Modul Files:检查 Module 文件
  • Analyze Project Files:检查项目文件
  • Analyze Scope Files:检查指定范围内的文件
  • Analyze All Modified Files:检查所有修改过的文件
  • Analyze changelist files:检查变更列表中的文件

它的检查结果含义解释如下:

  • Bad practice:不好的做法,代码违反了公认的最佳实践标准;
  • Malicious code vulnerbility:恶意的代码漏洞;
  • Correctness:可能不正确,比如错误的强制类型转换;
  • Performance:潜在的性能问题;
  • Security:安全性;
  • Dodgy code:糟糕的代码,FindBugs 团队认为该类型下的问题代码导 Bug 的可能性很高;
  • Experimental:实验;
  • Multithreaded correctness:关注于同步和多线程问题;
  • Internationalization:国际化

FindBugs是可以调节代码检查严格程度的,建议修改为low,这样有助于扫描出有潜在bug的地方。