
sonar
文章平均质量分 77
sui102
这个作者很懒,什么都没留下…
展开
-
Avoid Literals In If Condition
【原因分析】在条件判断语句中使用了硬编码的字面值,例如:if (!"0".equals(retCode)) 【影响分析】这种硬编码的字面值不容易理解其含义,进而影响对逻辑表达式的理解。另外硬编码的字面值也容易在代码中重复出现,给代码的维护增加难度。 【修改建议】建议修改。将硬编码的字面值定义成静态变量或私有的成员变量。例如:private Stri...原创 2013-05-08 17:02:58 · 354 阅读 · 0 评论 -
Total Quality指标解析
什么是Total QualityTotal Quality(简称TQ)是一个全局的代码质量指标,是sonar的一个插件,它提供了统一的评分标准。Total Quality包含四个方面的内容:架构(Architecture,简称ARCH)设计(Design ,简称DES)代码(Code ,简称CODE)测试(Overall Test ,简称OVERALL_TS)...原创 2013-08-21 15:46:11 · 720 阅读 · 0 评论 -
sonar数据库project垃圾数据清理
sonar(3.5.1版本)扫描时,如果某个项目第一次扫描的时候出错导致扫描终止,但是在出错之前已经往数据库中写入了一些数据。之后再次运行扫描就会出错,提示信息如下:Exception in thread "main" org.sonar.runner.RunnerException: javax.persistence.NonUniqueResultException: Expected...原创 2013-07-05 11:08:55 · 1055 阅读 · 0 评论 -
什么是Cyclomatic Complexity(圈复杂度)
圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。下面这个实例中,单元测试的覆盖率可以达到100%,但是很容易发现这其中已经漏掉了一...原创 2013-06-18 15:31:57 · 453 阅读 · 0 评论 -
Line Length
【原因分析】代码行长度过长,缺省限度为80字符,不区分中英文。 【影响分析】尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理。 【修改建议】当一个表达式无法容纳在一行内时,可以依据如下一般规则断开:在一个逗号后面断开在一个操作符前面断开宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开新...原创 2013-05-13 10:20:45 · 699 阅读 · 0 评论 -
Multiple String Literals
【原因分析】在同一个java文件,相同的字符串出现了多次。例如:public String doAdd(HttpServletRequest request) { String name = request.getParameter("name"); ......}public String doUpdate(HttpServletReque...原创 2013-05-13 10:20:30 · 165 阅读 · 0 评论 -
Require This
【原因分析】引用成员变量时未使用this关键字。 【影响分析】容易造成误解,降低代码的可读性。 【修改建议】需要修改,在引用成员变量时添加this关键字,例如:private String hello = "Hello ";public String sayHello(String name) { System.out.println(th...原创 2013-05-13 10:20:10 · 137 阅读 · 0 评论 -
Strict Duplicate Code
【原因分析】在同一个java文件,或不同的java文件中,出现了相同的代码行(缺省是超过12行)。 【影响分析】隐性增加代码维护成本。不规范的编码、缺陷等被放大,大幅增加修改工作量。 【修改建议】需要修改。将重复的代码提取出来,封装成一个方法(同一java文件中重复),或作为一个公共的工具类(重复代码在多个java文件中出现)。...原创 2013-05-13 10:19:53 · 136 阅读 · 0 评论 -
Undocumented Api
【原因分析】java文件中,公共类、接口、方法、成员变量或构造函数缺少注释。普通的Getter / Setter方法或使用@Override注解标记的方法不需要写注释。 【影响分析】代码可读性差,代码维护成本高。 【修改建议】需要修改。将java类中所有需要注释的地方添加上完整的注释。注释中可以使用html代码。...原创 2013-05-13 10:19:34 · 888 阅读 · 0 评论 -
Javadoc Variable
【原因分析】java类中的成员变量没有写Javadoc注释。例如下面这个java类中的name变量:public class Person { private String name;} 【影响分析】不完整的注释将会给代码的维护带来更大的难度,使java代码的可读性下降。 【修改建议】在日常开发的时候养成良好的编码习惯,注释尽可能写得详细和完...原创 2013-05-08 17:06:47 · 501 阅读 · 0 评论 -
Javadoc Style
【原因分析】Javadoc的注释格式不正确。可能的情况如下:1、方法、参数或返回值的注释为空;2、第一行注释没有以句号、问号或感叹号结束;3、html标签不完整;4、有不应该出现的html标签,可以出现的标签有:"a", "abbr", "acronym", "address", "area", "b", "bdo", "big"原创 2013-05-08 17:06:00 · 556 阅读 · 0 评论 -
Javadoc Method
【原因分析】java文件中,类方法的注释不完整。例如没有写注释,或者只写了方法注释没有写参数的注释。 【影响分析】代码可读性差,代码维护成本高。 【修改建议】需要修改。将java类中所有方法(public和private的都要)添加上完整的注释。注释中可以使用html代码。...原创 2013-05-08 17:05:24 · 416 阅读 · 0 评论 -
Dataflow Anomaly Analysis
【原因分析】原因分为三种:UR 已定义的变量未初始化(赋值)就使用,例如: String name; System.out.println(name); DU 变量定义以后仅在后面的某个分支中使用,例如: String name = "sam"; ...原创 2013-05-08 17:04:29 · 1702 阅读 · 2 评论 -
sonar平台使用培训教程
主要从用户的角度描述了sonar平台的使用。没有涉及sonar平台的系统管理和配置。原创 2013-09-25 15:25:58 · 164 阅读 · 0 评论