检测代码质量的 3 款神器,好用到爆!

火焰蓝程猿

共 2525字,需浏览 6分钟

 ·

2023-06-21 12:25

关注公众号,学习更多 Java 干货! 49c4be9c2845507813992f05089364ec.webp

今天推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba 代码规约插件。

1. SonarLint

SonarLint 是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。

efd64f4ee3b596cd151ba792b4e9fd97.webpimg

下载与安装

62041d8b3d0930122549917d86b750e8.webpimg

在需要检测的单个文件或者单个项目上右键 -> Analyze -> Analyze with SonarLint

或者选中文件或目录,点击菜单栏 Analyze -> Analyze with SonarLint

ed0fe4529668a8c975f784627e1101b7.webpimg

我们还可以禁用某些规则

另外,如果你近期准备面试跳槽,建议在 Java面试库 小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。

0d0ad31a9ff958cfc145d50837a5bc78.webpimg

如果需要同步自定义的规则时,可以绑定到 SonarQube

68befc85984ef8803330b9b1fd84d388.webpimg bcc45c6164b45528eaaff930192f4352.webpimg 345669d48a6cb494d89f4dda117e9614.webpimg

查看检测的结果

ed97fbbde98b5ad106c7ba5309638634.webpimg

对于代码中的警告我们不能视而不见

e9eb3379dabd6983ff50475b694491eb.webpimg

有了代码质量检测工具以后,在一定程度上可以保证代码的质量,对于每一个问题,SonarLint 都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。

比如,对于日期类型尽量用 LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。

有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看。

为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切

于是,SonarQube 闪亮登场!

2. SonarQube

SonarQube 是一个开源的代码质量管理平台

d690870c4d97b44c527eb90be3aeb115.webpimg b1bd61a00343eeb4e1c8c99495989586.webpimg 3f8656bdfe160662df7327a87ed3d51a.webpimg 1c33dfb56dafd642b2cf6de48455ce70.webpimg

解压&本地启动

具体开始参考文档:

https://docs.sonarqube.org/latest/setup/get-started-2-minutes/

下载下来这个工具,进行解压执行:

      unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol
8c37a778fddd685daf780128c0345484.webpimg

启动成功后,访问 http://localhost:9000 用管理员账号(admin/admin)登录

4eacd1b0530a55fd9ff9f4405f5356e7.webpimg

接下来,为了把检测的结果传到服务器,我们需要配置一个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

成功后,可以在控制台中看到这样的输出:

fb5341807db64d08eef6885b82b6030a.webpimg

再次刷新 http://localhost:9000/ 会看到跟刚才不一样了

96aad3b8d90bfb847c9aaf2ae774e3dc.webpimg 1589ffad9806b279b92c83585eb37a5b.webpimg 1081667c9f7a6b3b1983c4d02007ed56.webpimg

以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档:

https://docs.sonarqube.org/latest/setup/install-server/

3. Alibaba代码规约插件

阿里代码规范,相信大家都不陌生。IDEA 中安装这个插件即可。

这是代码规约插件安装方式:

95a8a351b27b2ac34e7427d71c581b9c.webpimg

安装了此插件,就可以进行扫描,检测出你写的 "坏"代码。

dc91b3d1ffebefb58b690062437b534b.webp

好文分享

1. 为什么反复强调组合要优先于继承?

    

2. Java 陷阱:慎用入参做返回值!!

3. 上午写了一段代码,下午就被开除了。。

4. Java 日志记录最佳实践,写得太好了吧!

5. 妙用 Java 8 Function 接口,消灭 if...else

更多关注公众号   • Java核心技术 95c71a042ecd6b099189efb7f246acf8.webp 点击 阅读原文 获取免费资料~
浏览 526
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报