关于java:别再写狗屎代码了推荐这-5-款-IDEA-插件让你的代码质量直接起飞

50次阅读

共计 4868 个字符,预计需要花费 13 分钟才能阅读完成。

随着业务的倒退,零碎会越来越宏大,本来简略稳固的性能,可能在一直迭代后复杂度回升,潜在的危险也随之裸露,导致最终服务不稳固,造成业务价值的损失。而为了缩小这种状况,其中一种比拟好的形式就是进步代码品质,比方通过代码审查,从而升高谬误危险,然而,代码审查难度大,代码缺点、破绽不易发现,且审查工作随着代码量减少而减少,审查效率低。

工欲善其事,必先利其器,因而,这篇文章给大家介绍几种查看代码品质的利器,Alibaba Java Coding Guidelines、CheckStyle、PMD、FindBugs、SonarLint,让你在关注代码品质的同时,缩小 code review 的工作量,进步 code review 的效率,并通过代码品质剖析去反向晋升咱们的代码编写能力

一、Alibaba Java Coding Guidelines

1、整体介绍:

Alibaba Java Coding Guidelines 专一于 Java 代码标准,目标是让开发者更加不便、疾速标准代码格局。该插件在扫描代码后,将不合乎规约的代码按 Blocker、Critical、Major 三个等级显示进去,并且大部分能够主动修复,它还基于 Inspection 机制提供了实时检测性能,编写代码的同时也能疾速发现问题所在。

阿里巴巴规约扫描包含:

  • OOP 规约
  • 并发解决
  • 管制语句
  • 命名规约
  • 常量定义
  • 正文标准
2、装置步骤:

File > Settings > Plugins > Marketplace 搜寻“Alibaba Java Coding Guidelines”,依照提醒进行装置,而后重启即可。

3、应用阐明:

3.1、运行形式:

(1)能够 Tools > 阿里编码规约 > 编码规约扫描

(2)在编辑界面或者我的项目区域点击右键,在右键菜单中选择“编码规约扫描”即可:

3.2、菜单性能:

  • 编码规约扫描:开始扫描代码
  • 关上 / 敞开实时检测性能:实时检测代码,个别机器性能比拟好的话能够开启这项性能
  • 切换语言至英文:中英文切换

3.3、运行后果:

扫描实现后显示后果如下,咱们能够看到扫描后果次要分为 Blocker(阻挡者)、Critical(重大问题)、Major(次要的)三个大类,它们示意的是问题的重大水平,重大水平由高到低为:Blocker > Critical > Major,至于每一类中都会蕴含什么样的问题,图中的内容曾经阐明了所有。

选中其中的一个问题我的项目,会呈现如下内容(如果以后鼠标点击的是最终项,左边区域显示的是其它的内容,前面会再讲到):

(1)指定区域搜寻同一类问题:

当点击③处的按钮时,会弹出如下按钮:

这里抉择扫描区域,来扫描鼠标选中的同类问题。如果依照默认抉择,那么运行后的后果就如下图所示:

这里咱们能够看到,显示了整个 Project 中的所有该类的问题。

(2)预览具体的不标准代码:

如果点击的是最终的问题点或者问题所在的类文件,那显示的就是如下界面,预览该处不标准的代码。

3.4、工具栏性能介绍:

  • Rerun Inspection:从新运行一次扫描
  • Close:敞开真个 AJCG 面板
  • Expand All:开展后果的树状构造,整个后果是树状构造的。
  • Collapse All:收起后果的树状构造
  • Go Pre Problem:抉择上一个问题
  • Go Next Problem:抉择下一个问题
  • Help:帮忙
  • Group by Serverity:(不晓得如何形容)
  • Group by derectory:按目录分组 / 按类名分组间切换
  • Filter resoled items:过滤掉曾经解决的项
  • Autoscroll to Source:主动滚动到源码
  • Export:导出,能够导出为 XML 和 HTML 两种格局
  • Edit Settings:编辑设置

二、CheckStyle:

1、整体介绍:

CheckStyle 偏重查看编码格局和代码格调标准,如命名标准、Javadoc 正文标准、空格标准、size 度量(如过长的办法)、反复代码、多余 Imports 等,从而无效束缚开发人员更好地遵循代码编写标准。Checkstyle 次要是文法层面的代码编写标准的剖析,对 bug 简直没什么发现能力。

Checkstyle 插件中默认内置有 2 个执行代码查看的配置文件(Sun Checks 和 Sun Checks),然而这两个文件查看的十分具体严格,即便优良的开源我的项目也会查看进去有十分多的谬误告信息,所以须要导入咱们自定义的配置文件。

2、装置步骤:

通过 File > Settings > Plugins > Marketplace 搜寻“CheckStyle”,依照提醒进行装置,而后重启即可。

3、应用阐明:

能够看到根本都是一些缩进啥的编码标准,能够不必太关注

三、PMD

1、整体介绍:

PMD 偏重面向平安编码规定,且具备肯定的数据流剖析和路径分析能力,能力比 CheckStyle 略微强点,并且 PMD 反对自定义规定,PMD 能够间接应用的规定包含以下内容:

  • 潜在的 bug:空的 try/catch/finally/switch 语句
  • 未应用的代码(Dead code):未应用的变量、参数、公有办法等
  • 可选的代码 String/StringBuffer 的滥用
  • 简单的表达式:不必须的 if 语句、可被 while 代替的 for 循环
  • 反复的代码:拷贝 / 粘贴代码意味着拷贝 / 粘贴 bugs
  • 循环体创立新对象:尽量不要在循环体内实例化新对象
  • 资源敞开:Connect,Result,Statement 等应用之后确保敞开掉
2、装置步骤:

通过 File > Settings > Plugins > Marketplace 搜寻“PMDPlugin”,依照提醒进行装置,而后重启即可

3、应用阐明:
  • 参考文章:http://wjhsh.net/andy-songwei…

3.1、运行形式:

(1)从 Tools 菜单中启动:

通过 Tools > Run PMD 能够看到如下的界面,如果通过该形式启动,扫描的范畴就是整个我的项目中的文件了。

  • Pre Defined:预约义的规定,也就是插件自带的检测规定。前面开展的列表中列出了所有的规定列表,想扫描哪一种类型的问题,点击即可。其中“All”示意应用所有的规定。
  • Custom Rules:自定义的检测规定,PMD 容许用户依据须要自定义查看规定,默认这里是不可点击的,须要在设置中导入自定义规定文件前方可抉择。

(2)从右键菜单中启动:

在文件或者编辑器中点击右键,也能够看到“Run PMD”选项,如果通过该形式启动,检测范畴取决于鼠标或光标以后所选中的区域。

3.2、运行后果:

运行后会呈现如上所示的面板,右边工具栏,鼠标停留在下面会提醒其性能;左边显示了检测后果,当点击具体某一问题项时,会跳转到对应的源码中。

3.3、配置检测规定:

通过 File > Settings > Other Settings > PMD 能够关上检测规定的设置界面:

在“RuleSets(规定设置)”界面能够治理自定义的检测规定。因为在理论工作中,可能须要依据理论状况自定义检测规定,就能够通过这里导入,如果要应用它,须要在启动 PMD 进行检测时抉择该自定义规定。

点击“Options”选项卡,在其中能够配置一些检测规定选项:

其中重点须要注意的是“Skip TestSource”这一项,因为在我的项目中有不少 Android Studio 主动生成的测试代码,如下所示,抉择上述选项后能够将其过滤掉。

另外,IDEA 正版激活办法,可参考我之前分享的教程:https://www.javastack.cn/intellij-idea-reactivation-succeed/

四、FindBugs:

1、整体介绍:

FindBugs 侧重于发现代码中存在的 bug,如运行时谬误检测(空指针查看、未正当敞开资源、字符串雷同判断错(==,而不是 equals)等),它能够简略高效全面地帮忙咱们发现程序代码中存在的 bug 以及潜在隐患,针对各种问题,它提供了简略的修改意见供咱们参考

2、装置步骤:

通过 File > Settings > Plugins > Marketplace 搜寻“FindBugs”,依照提醒进行装置,而后重启即可

3、应用阐明:

FindBugs 能够剖析单个文件、包上面的所有文件、整个 module 下的文件、整个 project 下的文件,右键想要剖析的文件名 / 包名 /module/project

剖析完之后就会呈现后果面板

点击对应的 item 在左边会定位到具体的代码,这是依据提醒进行解决批改就行

4、附:常见的错误信息

4.1、Bad practice 代码坏习惯:

4.2、Dodgy code 蹩脚的代码:

4.3、Internationalization 代码国际化相干:

4.4、Performance 代码性能相干:

4.5、Experimental:

4.6、Malicious code vulnerability 歹意毁坏代码相干:

4.7、Multithreaded correctness 多线程代码正确性相干:

4.8、Correctness 代码正确性相干:

五、SonarLint:

1、整体介绍:

sonar 比 Findbugs 高了一个层级,它不仅关注惯例动态 BUG,还关注到了如代码品质、包与包、类与类之间的依赖状况,代码耦合状况,类、办法、文件的复杂度,代码中是否蕴含大量复制粘贴的代码,关注的是我的项目代码整体的衰弱状况。sonar 有两种应用形式:插件和客户端,sonar 的插件名称为 sonarLint

2、装置步骤:

通过 File > Settings > Plugins > Marketplace 搜寻“SonarLint”,依照提醒进行装置,而后重启即可

3、应用阐明:

右键我的项目或者文件进行如上图所示操作,执行之后能够看到如下信息,如果代码中有不合理的中央会在 report 中显示,同时点击谬误的中央在左边会给出倡议的批改供参考。

4、配置 SonarLint 服务端:

4.1、配置 Sonar 服务器:

sonarLint 插件的应用场景是自用自审,但 sonar 也提供了平台版本,应用场景则是他审,sonar 平台的搭建就不在这篇文章介绍了,感兴趣的读者能够本人上网查看,咱们这里次要介绍如何在 sonarLint 插件中配置关联 sonar 平台服务器的工程,进行本地查看:

点击新增按钮,输出 Configuration Name,配置sonarlint 服务器的地址,而后下拉框抉择 Login/Password,输出 sonarlint 服务器的账号密码

4.2、具体 Sonar 工程配置:

配置完服务器之后,须要针对具体工程进行配置,点击 connection下拉框,抉择下面配置好的服务器连贯,而后点击 Search in list,找到对应的工程:

4.3、应用 SonarLint 查看:

配置完下面两步之后,接下来就能够抉择要进行查看的类或者目录进行 sonarlint 查看了(跟第 3 点的应用形式统一),同时,在 commit 代码的时候,勾选“Perform Sonarlint analysis”,会针对你要提交的代码进行 sonarlint 查看

总结

  • 查看代码标准的话,间接应用 Alibaba Java Coding Guidelines 就能够了
  • 找 BUG 的话,应用 PMD、Findbugs、SonarLint 互相补充:
    • PMD 自定义能力强,用来自定义我的项目 BUG 规定十分好用
    • Findbugs 找 BUG 能力很强,咱们拿找到的 BUG 给新员工培训也很好。
    • SonarLint 规定丰盛,比 Findbugs 能笼罩到更全的场景

版权申明:本文为 CSDN 博主「张维鹏」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。原文链接:https://blog.csdn.net/a745233…

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿(2022 最新版)

2. 劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4. 别再写满屏的爆爆爆炸类了,试试装璜器模式,这才是优雅的形式!!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0