代码质量检测工具-笔记(一)-常见工具

目的

主要记录一下自己见过的代码质量检测工具,以及遇到的代码质量问题。

更多看这

简介

笔记(一)记录代码质量检测工具
笔记(一)不做什么:

  1. 具体到工具的配置细节
  2. 深入比较每个工具(水平暂时有限😂)

开发过程往往需要提高代码的质量来保证系统的稳定性。

有坏味道的代码可能造成的问题包括:

  1. 代码难维护
  2. 系统有漏洞
  3. 造成性能问题

常见代码检测工具有

Sonar 系列

支持多种语言:Java, Python, Javascript 等
请添加图片描述


SonarLint(在 VSCode 或者 IntelliJ IDEA 都可作为插件安装, 一般开发使用)

请添加图片描述


SonarCube(一般企业内部搭建的代码质量检测平台,定期扫描代码或者集成到 CI 流程)

请添加图片描述


SonarCloud(作为 SASS 形式, 方便集成 GitHub, GitLab 等云平台)

请添加图片描述


Alibaba Java Coding Guideliness

这是一款 IntelliJ IDEA 的插件可以根据阿里巴巴公司的 Java 代码编程指南进行代码建议

更多看这

CheckStyle

帮助 JAVA 开发人员遵守某些编码规范的工具, 也有对应的 IntelliJ IDEA 插件, 可以编写检测规则

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC  "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
<module name="Checker">
    <property name="charset" value="UTF-8"/>
    <property name="fileExtensions" value="java"/>
    <!-- 文件长度不超过1500行 -->
    <module name="FileLength">
        <property name="max" value="1500"/>
    </module>
    <!-- TreeWalker Checks -->
    <module name="TreeWalker">
        <module name="SuppressWarningsHolder"/>
        <!--避免转义unicode字符-->
        <module name="AvoidEscapedUnicodeCharacters">
            <property name="allowEscapesForControlCharacters" value="true"/>
            <property name="allowByTailComment" value="true"/>
            <property name="allowNonPrintableEscapes" value="true"/>
        </module>
        <module name="NoLineWrap"/>
        <module name="OuterTypeFilename"/>
        <!-- import检查-->
        <!-- 检查是否从非法的包中导入了类 -->
        <module name="IllegalImport"/>
        <!-- 检查是否导入了多余的包 -->
        <module name="RedundantImport"/>
        <!-- 没用的import检查,比如:1.没有被用到2.重复的3.import java.lang的4.import 与该类在同一个package的 -->
        <module name="UnusedImports"/>
        <!-- 注释检查 -->
        <!-- 检查方法和构造函数的javadoc -->
        <module name="JavadocType">
            <property name="allowUnknownTags" value="true"/>
            <message key="javadoc.missing" value="类注释:缺少Javadoc注释。"/>
        </module>
    </module>
</module>

Prettier(代码格式化工具) + ESlint(检测 TS/JS 的代码质量)

请添加图片描述

有的前端项目集成这两种工具来规范代码

总结

这类的代码质量检测工具还有很多,常见的组合有:

前端

项目集成Prettier 和 EsLint然后通过husky这类的 git 钩子工具,在每次提交代码前进行强制执行检测,只有通过了才能提交代码,从而保证代码质量

后端

比如 Maven 构建的项目中,会在 Maven 打包的生命周期的回调中执行 CheckStyle 的代码检测,只有通过了才能打包成功

最后

当然这些只是本地质量检测的方法,完全可以绕过,比如直接在远程仓库修改代码,远端的代码 CI 流程中往往也会有检测。

代码质量检测不应该成为束缚编程思想的东西,合理运用提高项目稳定性和性能才是正事。

如有建议欢迎评论,谢谢

更多看这

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值