这五款牛逼的 IDEA 插件,堪称代码质量检查利器!
阅读本文大概需要 7 分钟。
来自:blog.csdn.net/a745233700/article/details/126202100
一、Alibaba Java Coding Guidelines
1、整体介绍:
OOP规约 并发处理 控制语句 命名规约 常量定义 注释规范
2、安装步骤:
File > Settings > Plugins > Marketplace
搜索 “Alibaba Java Coding Guidelines
”,按照提示进行安装,然后重启即可。3、使用说明:
![](https://filescdn.proginn.com/55694f1afdd13822e61e6e2d8b2d1082/752e99a07d11a3db3428ebd9a4fc5648.webp)
![](https://filescdn.proginn.com/d3371cb739675aedcba35b44cc42d46a/f63309acd0dc620c37e75856d29b05a2.webp)
编码规约扫描:开始扫描代码 打开/关闭实时检测功能:实时检测代码,一般机器性能比较好的话可以开启这项功能 切换语言至英文:中英文切换
Blocker > Critical > Major
,至于每一类中都会包含什么样的问题,图中的内容已经说明了一切。![](https://filescdn.proginn.com/458233cd715d36c4a5caf71206de2741/5257b23f559a8f2fecc042a8373e7400.webp)
![](https://filescdn.proginn.com/d0de7fd535b1700b81742e86426781d6/388321ac2496860993f399feb32ff5af.webp)
![](https://filescdn.proginn.com/8368ee8fb03f67b7de5bccec28293cf9/e3b5993367b11fea93585899a3f6746c.webp)
![](https://filescdn.proginn.com/06d430da9c82820a94ef963021911ee9/abd226ec2e0ee9234f1728376e911964.webp)
![](https://filescdn.proginn.com/9e849384f4cacaf115f101d4aa51da0f/82167053d777805982f2b990ae14aa11.webp)
![](https://filescdn.proginn.com/61f920c2fc504f365b801b61d72fef00/b092308b56e615624e9e2e5b289a5946.webp)
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、整体介绍:
2、安装步骤:
File > Settings > Plugins > Marketplace
搜索 “CheckStyle”,按照提示进行安装,然后重启即可。3、使用说明:
![](https://filescdn.proginn.com/ce984e0b24f4c8b9f15a2918220d63d6/5b338781b3892a08d153b335a7fc6bd9.webp)
三、PMD
1、整体介绍:
潜在的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-p-11830812.html
Tools > Run PMD
可以看到如下的界面,如果通过该方式启动,扫描的范围就是整个项目中的文件了。![](https://filescdn.proginn.com/58f66b56e8373e59cf3e1bc545ce0528/e41f56e6e545b381cdfcb28e99d7f27f.webp)
Pre Defined:预定义的规则,也就是插件自带的检测规则。后面展开的列表中列出了所有的规则列表,想扫描哪一种类型的问题,点击即可。其中“All”表示使用所有的规则。 Custom Rules:自定义的检测规则,PMD允许用户根据需要自定义检查规则,默认这里是不可点击的,需要在设置中导入自定义规则文件后方可选择。
![](https://filescdn.proginn.com/8c7c50f09eed528d9d028e8bdfed11a4/ad2f3c5bb9a8b9422488fa5c34d37307.webp)
File > Settings > Other Settings > PMD
可以打开检测规则的设置界面:![](https://filescdn.proginn.com/7470da96dfc373a3bbc390f956803348/9d3505c7f097e2aeb0e0671940af4df3.webp)
![](https://filescdn.proginn.com/4016d319d3fad8119e7183948a67c336/9d32ac0d85be6f9f949722681ae0b7cc.webp)
![](https://filescdn.proginn.com/f6fe0d5f8781830f4dabe2bf1ec863f8/d650059711427fedb5f66fd46bf6ecc9.webp)
四、FindBugs:
1、整体介绍:
2、安装步骤:
File > Settings > Plugins > Marketplace
搜索 “FindBugs”,按照提示进行安装,然后重启即可3、使用说明:
/module
名/project
![](https://filescdn.proginn.com/11df5e98b1f2fb6277938b5702d5e428/b81a049595756daa86464223768c99cb.webp)
![](https://filescdn.proginn.com/d21f59bea6fec55bba967ecbffead1e8/118f9c8884bc686032de6e326094192b.webp)
![](https://filescdn.proginn.com/e9f214eb71812126a51b9c399b04f981/b7c61be4dc1fa7763f7e77a351c480c0.webp)
4、附:常见的错误信息
![](https://filescdn.proginn.com/47d51fc99e7171f53966afe697ca4d35/7c3ab611314c88a82fc4009e3c5584cf.webp)
![](https://filescdn.proginn.com/595e9343f683eb41965628d39668bba1/399d2c73b6966c1ae8d0d356cf92d67e.webp)
![](https://filescdn.proginn.com/efb4216adb8883a2bb1f74b8045137dc/e790d4c54e7cddfeb5a01aa365b8ac98.webp)
![](https://filescdn.proginn.com/40349758d489893f2768cead11967e63/168841ec60dba31c97c4409c43c2057b.webp)
![](https://filescdn.proginn.com/7d458917eedc1bb8ba1301f79c48e302/2e83339f606f37370b56f31d9a04f54e.webp)
![](https://filescdn.proginn.com/7853541e9b58da63bc84a038fb649e1f/e2e5290f81ba5353ac5616a9772d79d8.webp)
![](https://filescdn.proginn.com/3ae6d15628acaabcce21121dd778ab61/9af3bc62ae5a31d31cfbf7768e03cd24.webp)
![](https://filescdn.proginn.com/77b2329a8c75e7e49ecfcd3724be2389/2ca44ceff59bff15902d1c8a77ea61ba.webp)
五、SonarLint:
1、整体介绍:
Findbugs
高了一个层级,它不仅关注常规静态BUG,还关注到了如代码质量、包与包、类与类之间的依赖情况,代码耦合情况,类、方法、文件的复杂度,代码中是否包含大量复制粘贴的代码,关注的是项目代码整体的健康情况。sonar 有两种使用方式:插件和客户端,sonar 的插件名称为 sonarLint
。2、安装步骤:
File > Settings > Plugins > Marketplace
搜索 “SonarLint”,按照提示进行安装,然后重启即可3、使用说明:
![](https://filescdn.proginn.com/6682645cee1d6baf1305335eb52fffbf/842b2f383e93f4f11bac6cabe02728ae.webp)
![](https://filescdn.proginn.com/cff98192de60f9246a6c7883994233fd/13a37db6b9b345e1c28b15d431ebb5c1.webp)
4、配置 SonarLint 服务端:
sonarLint
插件的使用场景是自用自审,但 sonar 也提供了平台版本,使用场景则是他审,sonar 平台的搭建就不在这篇文章介绍了,感兴趣的读者可以自己上网查看,我们这里主要介绍如何在 sonarLint
插件中配置关联 sonar 平台服务器的工程,进行本地检查:![](https://filescdn.proginn.com/63f636cacb02187a044b2da05872c9f9/c165f67fc86906e8d0aa904636afab45.webp)
Configuration Name
,配置sonarlint
服务器的地址,然后下拉框选择 Login/Password
,输入 sonarlint
服务器的账号密码![](https://filescdn.proginn.com/67bc61d0617546d88187e48deba55478/ad9dcc315aaa67649f52f452eccea268.webp)
connection
下拉框,选择上面配置好的服务器连接,然后点击 Search in list
,找到对应的工程:![](https://filescdn.proginn.com/6232f3e70239de72cb98927df477851b/099388ffa75a30cd777bd1bafe762ee4.webp)
sonarlint
检查了(跟第3点的使用方式一致),同时,在 commit 代码的时候,勾选 “Perform Sonarlint analysis
”,会针对你要提交的代码进行sonarlint检查![](https://filescdn.proginn.com/aa9d4f6a1a3fe89ce3c6d7725b658f30/660fe01ff161f2fe38b32c95d935e66b.webp)
总结
检查代码规范的话,直接使用
Alibaba Java Coding Guidelines
就可以了找 BUG 的话,使用
PMD、Findbugs、SonarLint
相互补充:PMD
自定义能力强,用来自定义项目BUG规则非常好用Findbugs
找 BUG 能力很强,我们拿找到的BUG给新员工培训也很好。SonarLint
规则丰富,比 Findbugs 能覆盖到更全的场景
推荐阅读:
互联网初中高级大厂面试题(9个G) 内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper......等技术栈!
⬇戳阅读原文领取! 朕已阅
评论