当前位置: 首页 > 后端技术 > Java

别再写狗屁代码了,推荐这5款IDEA插件,让你的代码质量直接起飞!

时间:2023-04-02 01:17:34 Java

随着业务的发展,系统会越来越大。原本简单稳定的功能在不断迭代后可能会变得越来越复杂,潜在的风险也会暴露出来,导致最终服务不稳定,失去商业价值。为了减少这种情况,比较好的方法之一就是提高代码质量,比如通过codereview,从而降低出错的风险,但是codereview难度大,代码缺陷和漏洞不容易发现,而且review工作随着code的增加而增多,review效率低下。工欲善其事,必先利其器。因此,本文介绍AlibabaJavaCodingGuidelines、CheckStyle、PMD、FindBugs、SonarLint等几款强大的代码质量检查工具,让大家关注代码质量。减少codereview的工作量,提高codereview的效率,通过代码质量分析,逆向提升我们的代码编写能力1.AlibabaJavaCodingGuidelines1.整体介绍:AlibabaJavaCodingGuidelines专注于Java代码规范,目的是让开发者更方便快捷的规范代码格式。插件扫码后,将不符合规范的代码分Blocker、Critical、Major三个等级显示,大部分可以自动修复。它还提供了基于Inspection机制的实时检测功能,可以通过编写代码快速找出问题所在。阿里巴巴协议扫描包括:OOP协议并发处理控制语句命名约定常量定义注解规范2、安装步骤:文件>设置>插件>商城搜索“AlibabaJavaCodingGuidelines”,按照提示安装,然后重启。3.使用说明:3.1。操作方法:(1)工具>阿里编码协议>编码协议扫描(2)在编辑界面或项目区右击,在右键菜单中选择“编码协议扫描”:3.2.菜单功能:编码协议扫描:开始扫码开启/关闭实时检测功能:实时检测条码,如果一般机器性能较好,可以开启此功能切换语言为英文:切换中文和英文English3.3、运行结果:显示扫描后的结果如下图,我们可以看到扫描结果主要分为三类:Blocker(阻塞者)、Critical(严重问题)、Major(主要)。它们表示问题的严重程度,严重程度从高到低依次为:Blocker>Critical>Major,至于每个类别会包含什么样的问题,图片中的内容已经说明了一切。选择其中一项问题,会出现如下内容(如果当前鼠标点击的是最后一项,右侧区域会显示其他内容,后面会讲到):(1)在问题中搜索同类问题指定区域:当点击③按钮时,会弹出如下按钮:在此选择扫描区域,对鼠标选中的同类问题进行扫描。如果按照默认选择,运行后的结果如下图所示:在这里我们可以看到整个Project中所有该类型的问题都显示出来了。(2)预览具体的非标准代码:点击最后的问题点或者问题所在的class文件,会出现如下界面,预览那里的非标准代码。3.4.工具栏功能介绍:RerunInspection:重新运行一次扫描Close:关闭真实的AJCG面板ExpandAll:展开结果的树结构,整个结果是一个树结构。CollapseAll:折叠结果的树结构GoPreProblem:选择上一个问题GoNextProblem:选择下一个问题Help:HelpGroupbyServerity:(不知道怎么描述)Groupbyderectory:Groupbydirectory/byclassnameSwitchbetweengroupsFilterresolveditems:过滤掉已解决的项目AutoscrolltoSource:自动滚动到源代码Export:导出,可以导出为XML和HTML格式EditSettings:编辑设置2.CheckStyle:1.整体介绍:重点onCheckStyle检查编码格式和代码风格规范,如命名规范、Javadoc注释规范、空间规范、尺寸测量(如方法过长)、重复代码、冗余Imports等,有效约束开发者更好地遵循代码编写规范。Checkstyle主要是在语法层面分析代码编写规范,发现bug的能力不大。Checkstyle插件默认内置了两个用于代码检查的配置文件(SunChecks和SunChecks),但是这两个文件非常详细和严格,即使是优秀的开源项目也会检查出很多错误信息。所以我们需要导入我们的自定义配置文件。2、安装步骤:通过文件>设置>插件>市场搜索“CheckStyle”,按照提示安装,然后重启即可。3.使用说明:大家可以看到缩进基本都有一些编码规范,不用太在意。3.PMD1。总体介绍:PMD专注于面向安全的编码规则,具有一定的数据流分析和路径分析能力。略强于CheckStyle,PMD支持自定义规则,PMD可以直接使用的规则包括:可选代码:String/StringBuffer滥用复杂表达式:不需要if语句,for循环可以用while代替重复代码:复制/粘贴代码就是复制/粘贴bug循环体创建新对象:尽量不要在循环中实例化新对象.关闭资源:Connect、Result、Statement等,使用后务必关闭。2、安装步骤:通过File>Settings>Plugins>Marketplace搜索“PMDPlugin”,根据提示安装。然后重新启动它。3、使用说明:参考文章:http://wjhsh.net/andy-songwei...3.1。操作方法:(1)从Tools菜单启动:通过Tools>RunPMD,可以看到如下界面,如果这样启动,扫描的范围是整个项目中的文件。PreDefined:预定义规则,即插件自带的检测规则。所有规则列表都列在展开的列表中,您可以单击要扫描的问题类型。其中“全部”表示使用所有规则。CustomRules:自定义检测规则。PMD允许用户根据需要自定义检查规则。默认情况下,这是不可点击的。在选择之前,您需要在设置中导入自定义规则文件。(2)从右键菜单启动:在文件或编辑器中右击,也可以看到“运行PMD”选项。如果以这种方式开始,则检测范围取决于鼠标或光标当前选择的区域。3.2.运行结果:运行后会出现如上图所示的面板。左侧的工具栏,当鼠标停留在其上时,会提示其功能;检测结果显示在右侧。当点击具体的问题项时,会跳转到相应的源代码中。3.3.配置检测规则:可以通过File>Settings>OtherSettings>PMD打开检测规则设置界面:在“RuleSets(规则设置)”界面可以管理自定义检测规则。因为在实际工作中,可能需要根据实际情况自定义检测规则,这里可以导入。如果要使用,需要在启动PMD检测时选择自定义规则。点击“Options”选项卡,这里可以配置一些检测规则选项:关键要注意的是“SkipTestSource”项,因为项目中有很多AndroidStudio自动生成的测试代码,如下图,select上面的选项之后就可以过滤掉了。另外,IDEA正版激活方法,可以参考我之前分享的教程:https://www.javastack.cn/intellij-idea-reactivation-succeed/四、FindBugs:1、整体介绍:FindBugs专注于发现bug代码中的Bug,比如运行时错误检测(空指针检查,资源不合理关闭,同一个字符串的错误判断(==,不等于)等),可以帮助我们发现程序中的bug和潜在的bug代码简单、高效、全面隐患,针对各种问题,提供简单的修改建议,供大家参考2、安装步骤:通过文件>设置>插件>市场搜索“FindBugs”,按照提示安装,然后重启3.使用说明:FindBugs可以分析单个文件、包下的所有文件、整个模块下的文件、整个项目下的文件。右键单击要分析的文件名/包名/模块名/项目。分析完成后会出现结果面板,点击相应的项目。具体代码会在右边,根据提示进行处理修改4.附件:常见错误信息4.1、Badpractice代码坏习惯:4.2、Dodgy代码坏代码:4.3、Internationalization代码国际化相关:4.4,Performance代码性能相关:4.5,Experimental:4.6,恶意代码漏洞相关:4.7,Multithreadedcorrectness多线程代码正确性相关:4.8,Correctness代码正确性相关:5.SonarLint:1.整体介绍:sonar比Findbugs更上一层楼。它不仅关注常规的静态bug,还关注代码质量,包与包、类与类之间的依赖关系,代码耦合,类、方法、文件的复杂度,代码中是否包含大量copy-粘贴的代码侧重于项目代码的整体健康状况。sonar有两种使用方式:插件和客户端。sonar的插件名称是sonarLint。2、安装步骤:通过File>Settings>Plugins>Marketplace搜索“SonarLint”,按照提示安装,然后重启。3、使用说明:右击工程或文件,如上图所示进行操作。执行后可以看到如下信息,如果代码中有不合理的地方,会在报告中显示出来,点击错误的地方会在右边给出修改建议供参考。4.配置SonarLint服务器:4.1.配置Sonar服务器:sonarLint插件的使用场景是自用自查,但是sonar也提供平台版本,使用场景是其他审计。sonar平台的搭建本文不做介绍。感兴趣的读者可以自行上网查看。这里主要介绍如何在sonarLint插件中配置与sonar平台服务器关联的项目进行本地检查:点击添加按钮,输入ConfigurationName,配置sonarlint服务器的地址,然后从drop中选择Login-下拉框/密码,输入sonarlint服务器的账号密码4.2,具体Sonar项目配置:配置好服务器后,需要针对具体项目进行配置,点击连接下拉框,选择上面配置的服务器连接,然后点击在列表中搜索,找到对应的Project:4.3。使用SonarLint检查:配置完以上两步后,就可以选择要检查的类或目录进行sonarlint检查(与第3点的使用一致)。同时,在提交代码时,勾选“PerformSonarlintanalysis”,将对你要提交的代码进行sonarlint检查。如果查看代码规范,可以直接使用AlibabaJavaCodingGuidelines。发现BUG,使用PMD、Findbugs、SonarLint相辅相成:PMD定制能力强,使用Findbugs定制项目BUG规则非常方便。发现BUG的能力是很强的,对于我们利用发现的BUG来培训新员工也是非常有好处的。SonarLint规则丰富,可以覆盖比Findbugs更完整的场景。版权声明:本文为CSDN博主“张伟鹏”原创文章,遵循CC4.0BY-SA版权协议。转载请附上原文出处链接及本声明。