代码规范与质量

保证项目代码的和谐一致 CheckStyle 和 Alibaba Java Coding Guidelines

一般代码编写规范包含代码结构,格式,命名、javadoc还有编码的最佳实践等内容

CheckStyle是一个帮助程序员来遵守一直的编码规范的工具。默认,它支持google 和sun 的java style guide。而且它是高度可配置的,允许自定义编码规范,并可以对各种IDE(eclipse、Intellij)和构建工具(maven,gradle)的支持。使用CheckStyle可根据团队的需求对编码规范进行自定义,在团队中推广使用,让代码看起来更整洁、漂亮

Alibaba Java Coding Guidelines 可能会更适合我们,它是基于《阿里巴巴Java开发规约》的,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方。相比CheckStyle它提供中文提示功能,基于Inspection机制提供了实时检测功能,部分规则实现了批量一键修复的功能。

代码扫描分析工具 FindBugs Lint PMD

这几种工具的功能有所重叠,可以根据需求选用一种或几种,并不需要全部使用。

FindBugs和PMD极其类似,但PMD是基于源码的,而FindBugs检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。PMD能发现一个FindBugs发现不了的问题,反之亦然。

FindBugs,可集成到Jenkins上,每次编译都进行检查提供给开发者作为一个改进的参考;也可使用AS的插件。可配置检查规则。
FindBugs的静态分析包括:

  • 60余种 Bad practice 坏的实践,下面列举几个:
    HE:类中equals()与hashCode()没有同时定义,或者使用了错误的对象的hashCode()或equals()。
    SQL:Statement 的execute方法调用了非常量的字符串;或Prepared Statement是由一个非常量的字符串产生。
    DE: 方法终止或不处理异常,一般情况下,异常应该被处理或报告,或被方法抛出。

  • 80余种 Correctness 一般的正确性问题,可能导致错误的代码,下面列举几个:
    NP: 空指针被引用;在方法的异常路径里,空指针被引用;方法没有检查参数是否null;null值产生并被引用;null值产生并在方法的异常路径被引用;传给方法一个声明为@NonNull的null参数;方法的返回值声明为@NonNull实

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值