zoukankan      html  css  js  c++  java
  • 检查结果

    sonar可以从以下七个维度来检测代码质量:
    1、不遵循代码标准
    sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具规范代码的编写;
    2、潜在的缺陷
    sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具检测出潜在的缺陷;
    3、糟糕的代码复杂度分布
    文件、类、方法等,如果复杂度过高将难以改变,这使得开发人员难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试;
    4、重复
    显然程序中包含大量复制粘贴的代码质量低下的,sonar可以展示源码中重复严重的地方;
    5、注释不足或者过多
    没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅度下降;
    6、缺乏单元测试
    sonar可以很方便地统计并展示单元测试覆盖率;
    7、糟糕的设计
    通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以展示自定义的架构规则。通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用秦高,检测耦合。

    一、blocker(阻断)

    1、没有关闭资源

     2、没有结束循环的条件,存在死循环

    3、资源不存在,判断条件总是false

    4、静态方法里使用的动态调用

    二、critical(严重)

    1、应该声明为常量的没有用final关键字修饰

    2、没有使用日志记录异常

    3、不应该抛出Exception,应该抛出自定义的异常,使异常更具体化

    4、属性应该是可配置的,不要写死

    5、没有适当的使用try...catch...finally

    三、major(主要)

    1、没有用@Override注解修饰重写的方法

     2、缺少私有的构造函数

    3、 删除无用的括弧 

    4、移除或者填充语句块

    5、没有用isEmpyt()检查集合是否为空

    6、不要直接给形参赋值,需要声明新的变量

    7、没有合并多条判断语句

    8、在一个文件中存在多个重复的代码块

    9、 移除没有使用的局部变量

    10、应该返回空的集合而不是null 

    四、minor(次要)

    1、构造函数的声明位置不对,应该放在属性的后面。

    According to the Java Code Conventions as defined by Oracle, the members of a class or interface declaration should appear in the following order in the source files:
    Class and instance variables
    Constructors
    Methods

     2、常量需要大写

     3、抛出了运行时异常

     4、移除没有使用的导入资源

    5、An indexOf or lastIndexOf call with a single letter String can be made more performant by switching to a call with a char argument.

    6、多次使用的相同字符串变量要声明成常量

     五、info(提示)

    1、生产环境应该去掉的注释

  • 相关阅读:
    01-2-SpringMVC-为Myeclipse安装spring的插件
    01-1-SpringMVC-怎么从官网下载Spring的jar包
    01-SpringMVC-HelloWorld
    1-2 如何将主机WIN7中文件共享到虚拟机中的Mac中
    1-1 win7 vmware虚拟机 中 mac系统无法上网
    1 在虚拟机上安装Mac OS
    10_mybatis与Spring的整合
    ReadWriteLock锁的应用
    ArrayList类的不安全性 以及 CopyOnWriteArrayList 类的引入
    洛谷P1129 [ZJOI2007]矩阵游戏(二分图匹配)
  • 原文地址:https://www.cnblogs.com/xidian2014/p/10260102.html
Copyright © 2011-2022 走看看