查看原文
其他

代码总被嫌弃写的烂?试试这几款插件,腰杆子立马硬起来...

一行Java 2023-02-06

大家好,我是一航!

程序员在写代码的时候,总是会在不经意间敲出一些不那么友好的代码,但绝对多数人往往因为项目需求急等种种原因,都没有会看自己代码的习惯,一直遵循能跑就行的原则;可一旦进行代码评审,各种问题就暴怒出来,轻则被批判几句,重则扣绩效、扣钱;非常不划算!

但很多时候,往往都是一些小问题,却总是会给人一种不专业,编码水平一般的不好印象,那有没有工具能在编码过程中就能够检测代码的不规范呢?

下面就给大家介绍几款优秀的插件,让你写出更加优质的代码,在同事和领导目前挺直腰杆儿!

1. SonarLint

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

下载与安装

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

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

我们还可以禁用某些规则

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

查看检测的结果

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

有了代码质量检测工具以后,在一定程度上可以保证代码的质量

对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发

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

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

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

于是,SonarQube 闪亮登场!

2. SonarQube

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

解压&本地启动

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

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

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

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

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

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

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

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

3. Alibaba代码规约插件

阿里代码规范,相信大家都不陌生

4. 文档

https://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-maven 

https://github.com/SonarSource

来源:cnblogs.com/cjsblog/p/10735800.html

👉最新2T+免费Java视频学习资料点击领取>>

END

精品资料,超赞福利,免费领


微信扫码/长按识别 添加【技术交流群
群内每天分享精品学习资料


最近开发整理了一个用于速刷面试题的小程序;其中收录了上千道常见面试题及答案(包含基础、并发、JVM、MySQL、Redis、Spring、SpringMVC、SpringBoot、SpringCloud、消息队列等多个类型),欢迎您的使用。


接口开发不用写Controller、Service、Dao、Mapper、XML、VO,全自动生成!
接口慢被吐槽?这些优化小技巧,直接起飞!
System.currentTimeMillis() 和 System.nanoTime() 谁更快?
Lombok 同时使用@Data 和 @Builder 有坑,小心中招!
丢掉XShell,这款酷炫的 SSH 工具,功能过于强大~
程序员专属导航站(baoboxs.com),一站式工作、学习、娱乐!

👇👇
👇点击"阅读原文",获取更多资料(持续更新中)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存