Java代码规范检查插件调研及总结-创新互联

代码规范工具对比 代码规范工具是什么
大家应该都有过写完代码后review的情况;用于提高编码质量,尽早的发现问题;节约开发时间和成本。
但review 这个过程往往要消耗 更多的开发资源。
所以就出现 自动检测可能代码中存在的问题的工具 ,我们一般把这类工具称为静态代码扫描工具。
常见的静态代码扫描工具有 checkstyle ,findBug,PMD,Jtest等等,它们有的用来寻找编码格式问题,有的用来定位可能存在的BUG。代码规范工具呢 。顾名思义主要关心其编码格式,规范。除了最后的静态代码扫描外,有些插件也支持在编码过程中实时显示规范问题。
代码规范工具 是自动比对代码与规范差异的一个工具,用以减少实现这一规范需要耗费的成本。

创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十载,专业且经验丰富。十载网站优化营销经验,我们已为成百上千中小企业提供了成都网站建设、网站设计解决方案,按需定制制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!代码规范的目的

对于整个团队而言,代码规范的目的实际上是为了提高效率。
秦始皇书同文,车同轨,定义了一个规范,才会让整体的交流变得简单,轻松。代码也是一样。
我们编码过程中,免不了团队协作,免不了迭代,升级,维护。
从自己角度看 遵循开发规范,可以让自己在后续迭代中,对于之前代码能够尽快熟悉,不会写了就忘,不会为了之前的一个问题,花费特别长的时间去熟悉逻辑 ,寻找BUG
从团队的角度看,需求可能不一定是一个人维护迭代升级,遵循规范能够减少团队的交流沟通成本。这样后面可以理直气壮的说一句,代码(注释)里面写的很详细,而不是代码需要讲解才能看的懂。

常见的一些代码规范工具 Alibaba Java Coding Guidelines
  1. 整体介绍
    Alibaba Java Coding Guidelines 专注于Java代码规范,目的是让开发者更加方便、快速规范代码格式。该插件在扫描代码后,将不符合规约的代码按 Blocker、Critical、Major 三个等级显示出来,并且大部分可以自动修复,它还基于 Inspection 机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。

  2. 安装步骤
    File >Settings >Plugins >Marketplace 搜索 “Alibaba Java Coding Guidelines”,按照提示进行安装,然后重启即可。

  3. 使用说明
    3.1. 运行方式:
    (1) .可以Tools >阿里编码规约 >编码规约扫描

    (2)在编辑界面或者项目区域点击右键,在右键菜单中选择“编码规约扫描”即可:

    3.2.菜单功能:

    编码规约扫描:开始扫描代码

    打开/关闭实时检测功能:实时检测代码,一般机器性能比较好的话可以开启这项功能

    切换语言至英文:中英文切换

    3.3. 运行结果
    扫描完成后显示结果如下,我们可以看到扫描结果主要分为 Blocker(阻挡者)、Critical(严重问题)、Major(主要的)三个大类,它们表示的是问题的严重程度,严重程度由高到低为:Blocker >Critical >Major,至于每一类中都会包含什么样的问题,图中的内容已经说明了一切 

    3.4. 工具栏介绍

    1. Rerun Inspection:重新运行一次扫描

    2. Close:关闭真个AJCG面板

    3. Expand All:展开结果的树状结构,整个结果是树状结构的。

    4. Collapse All:收起结果的树状结构

    5. Go Pre Problem:选择上一个问题

    6. Go Next Problem:选择下一个问题

    7. Help:帮助

    8. Group by Serverity:

    9. Group by derectory:按目录分组/按类名分组间切换

    10. Filter resoled items:过滤掉已经解决的项

    11. Autoscroll to Source:自动滚动到源码

    12. Export:导出,可以导出为XML和HTML两种格式

    13. Edit Settings:编辑设置

SonarLit
sonarlit 插件的安裝及使用

安装
打开IntelliJ IDEA—>settings—>plugins,在Marketplace搜索SonarLint,下载安装,重启IntelliJ IDEA。
也可以选择下载插件,丢到plugin 目录手动安装

sonarlint-intellij-6.7.0.45926.zip
使用说明
配置自动扫描
打开IntelliJ IDEA—>settings—>Other Settings—>SonarLint General Settings或者IntelliJ IDEA—>settings—>SonarLint General Settings,勾选Settings—>Automatically trigger analysis,点击Apply,再点击OK。
手动执行扫描
鼠标移动到项目根目录,右键选择Ayalyze,选择Ayalyze with SonarLint。

扫描后的结果说明 

SonarLint插件在IntelliJ IDEA 中页面显示的名词解释:

Current file:当前文件(展示当前文件存在的哪些问题,以及解决方法)

Rule:规则(告诉你问题的具体内容,并在最后告诉你如何解决这个问题)

Report:报告(鼠标移动到项目根目录,右键选择Ayalyze,选择Ayalyze with SonarLint,完成之后的结果显示,包含整个项目的所有文件的问题)

Locations:位置(告诉你,在哪个地方有问题,问题的重复位置)

Issues:问题

每个issue有五个等级:
BLOCKER(致命):会影响应用程序的缺陷:内存泄漏,未关闭的JDBC连接…必须立刻修复的代码
CRITICAL(关键 ):可能会影响应用程序的缺陷或者是安全性缺陷:空的catch块,sql注入,…必须立刻查看代码;
MAJOR(主要):可能会影响开发者效率的质量缺陷:未覆盖的代码,重复块,未使用的参数….
MINOR(微小):可能会影响开发者效率的质量缺陷:每行不能太长,“switch”语句应该至少有三个条件,….
INFO(未知):既不是缺陷也不是质量问题,只是一个发现。
每个issue有三个状态定义:
Bug:窃听器(可靠性),避免错误和未定义的行为
Vulnerability:漏洞(安全),避免破坏或攻击
Code Smell:代码嗅觉(可维护性),简化代码更新,并提高开发人员的速度
具体用法:

Locations: 


左边信息展示,假如这个问题在当前文件中出现多次,则在这条问题的后面会有的标识,选中并鼠标双击之后,在右边显示具体的位置,如图所示[注:括号里面的数字表示问题在第几行的第几列]。

Report:

Log:

如何去掉不需要的扫描规则

1.打开settings

2.选择 tools-->Sonarlint -->Rulse →搜索对应的规则

插件对比

插件

格式检查

BUG扫描,漏洞分析

更新时间

扫描信息收集

规则自定义程度

插件下载量

marktplace 评分

集成进其他流水线或仓库组件

Alibaba Java Coding Guidelines

支持不支持不支持

动态扫描支持

最终结果不支持

不支持
SonarLit支持支持支持(sonarqube)支持支持(gitlab,jenkins)

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:Java代码规范检查插件调研及总结-创新互联
网站路径:http://myzitong.com/article/djgsdd.html