今天推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba代码规约插件。
SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。![](https://filescdn.proginn.com/d41da32cc5da301e6436157e6dfc11da/47d9c3b98fdf1702376c577b5891c840.webp)
![](https://filescdn.proginn.com/ff01e059dac812b37cb280199ef349e1/60e06206ffbb4d8a43cf23fdbffca09a.webp)
在需要检测的单个文件或者单个项目上右键 -> Analyze -> Analyze with SonarLint或者选中文件或目录,点击菜单栏 Analyze -> Analyze with SonarLint![](https://filescdn.proginn.com/1891fdc82af27d51032ebb8989b0e043/fd9e1253cf9ccc5b5954e76e6f8b1611.webp)
![](https://filescdn.proginn.com/89ae78afb6ad088d15a394eff1d692fb/ea818c288ef48d286326196ee1d5f021.webp)
如果需要同步自定义的规则时,可以绑定到 SonarQube![](https://filescdn.proginn.com/637b336ad96f3f40bb295def614c5227/877f353bcb1d42e86c788286ce437ab2.webp)
![](https://filescdn.proginn.com/cf6d8abd81c0d1389df0466d40978829/1661343c1e871aec17fae16e6f58423b.webp)
![](https://filescdn.proginn.com/a0b3bb5e0d9682d059c9e5cae89e138a/a3cf87ccc2eb629190c2e037ccf39694.webp)
![](https://filescdn.proginn.com/ebc09d5dac38e7d73267fcfcf6b52b38/8f3be509db58b1894e82cbe042d7d379.webp)
![](https://filescdn.proginn.com/ca12e95c44ac7f5a75dbf375ca945431/5e1471af399e6c53b48b07a9c43cb640.webp)
有了代码质量检测工具以后,在一定程度上可以保证代码的质量,对于每一个问题,SonarLint 都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。比如,对于日期类型尽量用 LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看。为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切![](https://filescdn.proginn.com/0722f19d11fa70ac00b17bbbca0ab62a/844ee0d389aeaadc0a7405cfb3a3586e.webp)
![](https://filescdn.proginn.com/6f732cbdb9df83a1659da33645aed8ed/ab4e9e1e5aa2992636ad77abc7595cbf.webp)
![](https://filescdn.proginn.com/9fd8c1448375d5552e7aaf58e63a95b6/9b9aa602423c167d30114d77ce7c28ed.webp)
![](https://filescdn.proginn.com/37adddd835d64de47f606d156c407931/fac94abc86b108ca627904c2c01e3bcb.webp)
https://docs.sonarqube.org/latest/setup/get-started-2-minutes/unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol
![](https://filescdn.proginn.com/1b33b6984c8a426eb4302d696fd8902e/d812e2a180f72784424205151802bc7d.webp)
启动成功后,访问 http://localhost:9000 用管理员账号(admin/admin)登录![](https://filescdn.proginn.com/c49aaa34a800d89c3e10e153ea1c8f7d/af8bbca8b9748b8bdc09a2a1958238cc.webp)
接下来,为了把检测的结果传到服务器,我们需要配置一个Scanner,具体参考文档:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven这里我在项目中添加 sonar-maven-plugin 插件<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</build>
命令行执行:mvn clean compile sonar:sonar![](https://filescdn.proginn.com/821deecc349e314df2e97b27d9b00623/ec7a075791b3f2f9240b66bcd9f7f6b5.webp)
再次刷新 http://localhost:9000/ 会看到跟刚才不一样了![](https://filescdn.proginn.com/bb541502f243b5595bfc76449f33c874/ca54dd6837f1a8015966d95e4f5c3510.webp)
![](https://filescdn.proginn.com/2aad088dedd757f22b533c3a44bc360f/f6051769372405179c323e7af442e933.webp)
![](https://filescdn.proginn.com/89d50767a1ef85b97a332e2f90f2101f/56c427bc98190b42ff721c0d41f756c3.webp)
以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档:https://docs.sonarqube.org/latest/setup/install-server/阿里代码规范,相信大家都不陌生。IDEA 中安装这个插件即可,同时如果需要更多优质 IDEA 插件推荐可以关注公众号「Java后端」搜索「IDEA」就可以找到相关的插件推荐文章了。![](https://filescdn.proginn.com/a79658f57970ed4f12c4291e17206e1e/d5877b01bdaaa13a1a6a1be332aaecd1.webp)
安装了此插件,就可以进行扫描,检测出你写的 "坏"代码。![](https://filescdn.proginn.com/b2c043990aa30e310344d49c119f2313/88810fd14b2ba3fa359b9b5c81f36fdf.webp)
![](https://filescdn.proginn.com/81553f5d08327accd28af5d8f238d88c/ac40d8b388e3e30cc76037b0c6f89e0e.webp)
链接:cnblogs.com/cjsblog/p/10735800.htmlhttps://www.sonarqube.org/https://www.sonarsource.com/plans-and-pricing/community/https://www.sonarlint.org/https://docs.sonarqube.org/latest/setup/overview/https://docs.sonarqube.org/latest/https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-mavenhttps://github.com/SonarSource顺便给大家推荐一个GitHub项目,这个 GitHub 整理了上千本常用技术PDF,绝大部分核心的技术书籍都可以在这里找到,
GitHub地址:https://github.com/javadevbooks/books
Gitee地址:https://gitee.com/javadevbooks/books
电子书已经更新好了,你们需要的可以自行下载了,记得点一个star,持续更新中..
![](https://filescdn.proginn.com/0cab1896680da4b2f110249045910347/56a2f77e8875812b3df5eff9ebbd0025.webp)