测试工具-----Sonarqube

sonarqube的介绍

sonarqube主要用于代码静态分析,用于检查代码是否存在存在的格式,bug,安全漏洞问题,同时也提供了复杂度,代码 行数等质量度量数据.

  • 代码静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术

 

sonarqube使用的场景

  • 开发代码中实时检查:可以装插件,然后根据自己指定的规则对代码进行扫描,然后就会实时反馈代码里面的问题。

优点:可以快速发现问题和解决问题,

  • 开发代码完毕,提交代码到配置库之后,定期或者不定期扫描,

缺点:它是在代码开发完成之后才进行扫描,任务量大,此时发现问题和修改问题的成本就会变得的很大

 

SonarQube的特性

1、易于安装,开箱即可启动

2、易于配置,所有配置可以通过其提供的web界面实现

3、可以与CI系统,例如jenkins完美集成

4、丰富的扫描规则,支持自定义,并可以集成findbugs,pmd,checkstyle等插件

5、丰富的格式支持,可以扫描java\js\xml\jsp等多种格式

6、丰富的统计功能,例如覆盖率,代码行数

7、支持违规的处理、分配等工作流,可以扫描的有问题的代码进行处理,

8、可以对违规进行确认,误报的违规一次确认后将不再统计在内,如果工具有误报,工具认为是bug,此时可以进行设置下次遇到同样的问题,工具就不会认为它是bug

9、支持maven\ant\命令行等方式扫描

 

 

安装SonarQube(Linux下)

sonarqube分为以下产品组:

sonarqube更新频繁,更新会导致一些插件的不可用

  • sonarqube:sonarqube是一个web平台,是sonarqube的基础,统一管理插件和规则,统一展现度量数据
  • SonarQube Scanners:命令行扫描工具,进行代码的静态扫描
  • SonarQube Plugins:插件,支持多种语言
  • SonarLint:IDE集成插件

1.先从本地把软件包导入到服务器或者虚拟机上

2.解压sonarqube: 命令 unrar x sonarqube-6.4.rar

3.修改配置文件

修改端口号:vi xxx/sonarqube-6.4/conf/sonar.properties

注意:一半都使用的是默认端口号,如果默认的端口号被占用才需要去修改端口号,一般不要组修改端口号。

因为我的默认9000端口号没有被占用,所以不要修改。

4.启动sonarqube

在sonarqude的安装包的bin目录里的linux-x86-64下边有他的启动命令

可以使用该命令进入该目录: cd ./sonarqube-6.4/bin/ linux-x86-64/

启动sonarqube:  因为我是root权限所以我不用root命令

第一次启动:sudo ./sonar.sh start 

第二次启动:sudo ./sonar.sh restart 

查看sonarqube的状态:./sonar.sh status

必须要在: sonar.sh的路径下执行该命令,否则会显示找不到该文件:/sonarqube-6.4/bin/linux-x86-64

出现问题:

1.输入命名后说我权限拒绝

解决方法:

修改sonar.sh的文件权限

 

登录sonqrqube

注意:第一次的登录sonarqube他的账户和密码都是admin

sonarqube目录结构如下:

  • bin:启动、停止命令目录
  • conf:配置目录,可以配置端口、数据库等信息
  • data:数据存放目录,子目录es,web为缓存的数据目录,可以删除,删除后会自动生成。
  • extensions\plugins:插件存放目录,手工下载的插件需要放在该目录
  • lib:依赖jar
  • logs:日志文件
  • temp:临时文件目录,可以删除
  • web:web目录,不可以删除,开发语言为ruby

安装插件sonarqube插件

1.在sonarqube的web页面进行插件的安装

2.如果web端安装插件失败可以在,Linux环境在安装插件。在sonarqube的目录下有一个扩展包文件extension文件里面有个plugins文件下装的就是插件,我们可以把自己的插件文件放入这个包下边,然后重新启动sonarqube使插件效

 

安装sonarscanner

1.先把安装包导入本地服务器:

2.解压:unrar x sonar-scanner-cli-3.0.3.778-linux.rar

3.配置sonarscanner的环境变量(集成Jenkins需要配置)
命令:vi /etc/profile


SONAR_RUNNER_HOME=/root/sonar-scanner-cli-3.0.3.778-linux
PATH=$SONAR_RUNNER_HOME/bin:$PATH
export SONAR_RUNNER_HOME 
export PATH
 

 

执行source /etc/profile使/etc/profile生效

 

练习一:sonarscanner扫描 

(此次测试采用的sonarqube默认的质量阀)

1.把自己的Java项目放入Linux环境下

2.在项目目录下,创建一个sonar-project-properties文件,来定义当前项目的自动化命令行扫描文件

扫描规则:

# 工程关键字,整个系统中唯一,可修改,一般设为项目英文名
sonar.projectKey=sonar
# 工程名,一般设为项目英文名
sonar.projectName=sonar
# 工程版本号,可设置为项目的版本号
sonar.projectVersion=1.0
# 工程存放目录,.表示当前路径,不用修改
sonar.projectBaseDir=. 
# 设置扫描JAVA还是PLSQL,设为 JAVAmodule,PLSQLmodule则同时扫描两个
sonar.modules=JAVAmodule
# 不进行扫描的文件
# sonar.exclusions=test/*.java,b.java
# JAVAmodule的工程名称,可修改
JAVAmodule.sonar.projectName=sonar_java
# JAVAmodule的扫描语言,不可修改
JAVAmodule.sonar.language=java
# 源码存放目录,可设置为src,java等多个目录,.表示当前路径下所有文件
JAVAmodule.sonar.sources=.
# 源码字符集,根据实际修改
JAVAmodule.sonar.sourceEncoding=UTF-8
# 设置工程使用的JDK版本,需要修改,可能影响扫描结果
JAVAmodule.sonar.java.source=1.6
# 工程存放路径,不用修改
JAVAmodule.sonar.projectBaseDir=.
# 以下两项在编译后添加,部分安全规则需要二进制文件,这时需要设置以下两项
# 编译后的二进制文件目录
# JAVAmodule.sonar.java.binaries=.
# 依赖jar包目录
# JAVAmodule.sonar.java.libraries=.
# PLSQLmodule的工程名称,可修改
PLSQLmodule.sonar.projectName=sonar_plsql
PLSQLmodule.sonar.language=plsqlopen
# 源码存放目录,可以逗号分隔填写多个目录
PLSQLmodule.sonar.sources=sql
PLSQLmodule.sonar.sourceEncoding=GBK
PLSQLmodule.sonar.projectBaseDir=.

扫描规则制定为,然后执行:

  • 1.执行代码:   sudo /root/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner
  • 2.以debug模式执行代码:   sudo /root/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner-debug

3.在命令行扫描完成之后会在sonarqube的web端有一个扫描结果分析,里面有代码的覆盖率,重复率,多少个bug,多少个漏洞等等

 

2.自己创建质量阀

1).创建质量阀

 

2).添加质量阀:

里面可以设置复杂性的,覆盖率的,关于Bug问题的(拦截bug,新的Bug,确认Bug,严重bug等),可靠性,可维护性等

3).勾选测试的项目,然后测试时质量阀就会应用到该项目上面去

4).质量配置

激活更多的质量规则

到这里质量阀就将好了,他就可以应用到项目里

 

其他功能:

1.创建用户

查看之前运行过的任务

 

jenkins和sonarqube集成

启动jenkins的最简单指令:

nohup java -jar jenkins.war --httpPort=80

1.-如何把jenkins和sonarqube关联起来

1)在jenkins里面有一个sonarqube的插件

2)在全局工具配置里面进行配置


配置sonarscanner插件的加路径

 

3)在系统设置里面配置sonarqube的服务器

首先在sonarqube里面创建sonarqube服务器的指令令牌

配置sonarqube的服务器指令令牌

 

此时jenkins和sonarqube就建立了联系

 

4)在jenkins里面的构建里查看是否有sonarqube

 

 

 

SonarQube 里面的部分代码规则

“&&”和“||” 应该使用

PHP     Bug       可疑  

“.equals()”不应用于测试“原子”类的值

Java     Bug       多线程  

“<>”不应用于测试不平等

Python     代码嗅觉       过时的  

应使用“<?php”和“<?=”标签

PHP     代码气味       惯例,psr1  

不应使用“= +”代替“+ =”

JavaScript     Bug   

不应使用“= +”代替“+ =”

C#     Bug   

当覆盖“等于”时,不应使用“==”和“!=”

Java     Code Smell       证书,cwe,可疑  

当“等于”被覆盖时,不应使用“==”

C#     代码气味       证书,cwe,可疑  

应使用“===”和“!==”代替“==”和“!=”

JavaScript     代码气味       可疑  

应使用“===”和“!==”代替“==”和“!=”

Flex     Code Smell       可疑  

不应使用“@Deprecated”代码

Java     Code Smell       证书,cwe,已过时  

“@NonNull”值不应设置为null

Java     Bug   

“@Override”应该用于覆盖和实现方法

Java     Code Smell       坏实践  

“@RequestMapping”方法应该是“公开的”

Java     漏洞       弹簧  

当“[DefaultParameterValue]”表示时,不应使用“[DefaultValue]”

C#     代码气味       可疑  

“[可选]”不应用于“ref”或“out”参数

C#     代码气味       陷阱  

“[type = ...]”应该用于按类型选择元素

JavaScript     代码气味       jquery,表现  

“\”只能用作原始字符串之外的转义字符

Python     代码嗅觉   

“__construct”函数不应该对父构造函数进行PHP 4样式的调用

PHP     代码气味       惯例  

“__exit__”应该接受type,value和traceback参数

Python     Bug   

“__init__”不应返回值

Python     Bug   

“抽象”类不应该有“公共”构造函数

C#     代码气味       扑朔迷离  

“动作”映射不应该有太多“前进”条目

Java     Code Smell       脑过载,支柱  

不应使用“alert(...)”

JavaScript     漏洞       cwe,用户体验  

不应使用“Alert.show(...)”

Flex     漏洞       cwe,用户体验  

应禁用“allow_url_fopen”和“allow_url_include”

PHP     漏洞       cwe,owasp-a1,php-ini,sans-top25-risky  

应该使用“任何()”来测试空虚

C#     代码气味       笨拙  

不应直接访问“参数”

JavaScript     代码气味       api-design,es2015  

不应使用“arguments.caller”和“arguments.callee”

JavaScript     代码气味       过时的  

“Arrays.stream”应该用于原始数组

Java     Code Smell       性能  

不应该调用“Assembly.GetExecutingAssembly”

C#     代码气味       性能  

应该使用“Assembly.Load”

C#     代码气味       不可预知的  

“async”和“await”不应用作标识符

C#     代码气味       陷阱  

“async”方法不应返回“void”

C#     Bug       多线程  

如果“base”不是“object”,则“base.Equals”不应用于检查“Equals”中的引用相等性

C#     Bug   

不应使用“BigDecimal(double)”

Java     Bug       证书  

不应在循环外使用“break”和“continue”

Python     代码嗅觉   

“捕获”条款应该不仅仅是重新抛出

C#     代码气味       证书,笨拙,发现,未使用  

“捕获”条款应该不仅仅是重新抛出

Java     Code Smell       证书,笨拙,发现,未使用  

应启用“cgi.force_redirect”

PHP     漏洞       cwe,owasp-a5,php-ini  

“克隆”不应该被覆盖

Java     Code Smell       可疑  

“Cloneables”应该实现“克隆”

Java     Bug   

不应使用“Collections.EMPTY_LIST”,“EMPTY_MAP”和“EMPTY_SET”

Java     Code Smell       过时的,陷阱  

不应检查“compareTo”结果的具体值

Java     Bug       不可预知的  

“compareTo”不应返回“Integer.MIN_VALUE”

Java     Bug   

应使用“ConfigureAwait(false)”

C#     代码气味       多线程,可疑  

不应使用“继续”

JavaScript     代码气味       糟糕的做法,misra  

不应使用“CoSetProxyBlanket”和“CoInitializeSecurity”

C#     代码气味   

不应使用Apache Commons Lang库中的“DateUtils.truncate”

Java     Code Smell       java8,性能  

当使用对象或数组时,“defaults”应该是一个函数

JavaScript     Bug       骨干  

“delete”只能用于对象属性

JavaScript     Bug   

不应在数组上使用“delete”

JavaScript     代码气味   

不应使用“deleteOnExit”

Java     Code Smell       性能  

“Double.longBitsToDouble”不应该用于“int”

Java     Bug   

应使用“elseif”关键字代替“else if”关键字

PHP     代码气味       惯例,psr2  

应禁用“enable_dl”

PHP     漏洞       cwe,php-ini  

当需要键和值时,应该迭代“entrySet()”

Java     Code Smell       性能  

“enum”字段不应该是公开可变的

Java     漏洞       坏实践  

实现“IComparable”时,应该覆盖“等于”和比较运算符

C#     Bug   

“equals”方法覆盖应接受“对象”参数

Java     Bug       可疑  

“equals”方法应该是对称的,适用于子类

Java     Bug       证书  

应该成对覆盖“equals(Object obj)”和“hashCode()”

Java     Bug       证书,cwe  

“equals(Object obj)”应该与“compareTo(T obj)”方法一起被覆盖

Java     Bug   

“equals(Object obj)”应测试参数类型

Java     Bug   

应该成对覆盖“Equals(Object)”和“GetHashCode()”

C#     Bug       证书,cwe  

不应绑定或分配“eval”和“arguments”

JavaScript     Bug       陷阱  

当被调用的方法不需要时,不应该捕获“异常”

Java     Code Smell       cwe,错误处理  

不应使用“exit(...)”和“die(...)”语句

PHP     Bug   

不应使用“foreach”循环的“显式”转换

C#     代码气味       可疑  

“Externalizable”类应该没有参数构造函数

Java     Bug   

不应使用“File.createTempFile”来创建目录

Java     漏洞       OWASP-A9  

应禁用“file_uploads”

PHP     漏洞       cwe,php-ini,sans-top25-insecure  

“最终”类不应该有“受保护”成员

Java     Code Smell       扑朔迷离  

“最终”不应冗余使用

PHP     代码气味       惯例  

“finalize”不应将字段设置为“null”

Java     Code Smell       笨拙,表现  

“find”应该用于选择id已知的元素的子元素

JavaScript     代码气味       jquery,性能,用户体验  

应该处理“FIXME”标签

Python     代码嗅觉   

“for”循环增量子句应该修改循环的计数器

JavaScript     代码气味       扑朔迷离  

“for”循环增量子句应该修改循环的计数器

C#     代码气味       扑朔迷离  

“for”循环增量子句应该修改循环的计数器

Java     Code Smell       扑朔迷离  

“for”循环停止条件应该是不变的

Flex     Code Smell       misra,陷阱  

“for”循环停止条件应该是不变的

C#     代码气味       misra,陷阱  

“for”循环停止条件应该是不变的

PHP     代码气味       misra,陷阱  

“for”循环停止条件应该是不变的

Java     Code Smell       misra,陷阱  

“for ... in”循环应该在对它们进行操作之前过滤属性

JavaScript     Bug   

“未来保留字”不应用作标识符

JavaScript     代码气味       锁定,陷阱  

不应该调用“GC.Collect”

C#     代码气味       糟糕的做法,表现,不可预测  

不应该调用“GC.SuppressFinalize”

C#     代码气味   

对于没有析构函数的类型,不应调用“GC.SuppressFinalize”

C#     代码气味       混乱,未使用  

“getClass”不应用于同步

Java     Bug       证书,多线程  

“GetHashCode”不应该引用可变字段

C#     Bug   

不应该使用“全球”

PHP     代码气味       惯例  

不应使用“goto”语句

C#     代码气味       脑过载,misra  

不应使用“goto”语句

PHP     代码气味       脑过载,misra  

不应在数组实例上调用“hashCode”和“toString”

Java     Bug   

不应使用“HttpServletRequest.getRequestedSessionId()”

Java     漏洞       cwe,owasp-a2,sans-top25-porous  

“IDisposable”应该正确实施

C#     代码气味   

不应返回在“using”语句中创建的“IDisposable”

C#     Bug   

应该处理“IDisposables”

C#     Bug       cwe,拒绝服务  

应该简化“IEnumerable”LINQ

C#     代码气味       笨拙  

“如果......其他如果”构造应该以“else”条款结束

JavaScript     代码气味       证书,misra  

“如果......其他如果”构造应该以“else”条款结束

C#     代码气味       证书,misra  

“如果......其他如果”构造应该以“else”条款结束

PHP     代码气味       证书,misra  

“import”应该用于包含外部代码

JavaScript     代码气味       惯例,es2015,已过时  

“in”不应与原始类型一起使用

JavaScript     Bug   

“indexOf”检查不应该是正数

JavaScript     代码气味       可疑  

“IndexOf”检查不应该是正数

C#     代码气味       可疑  

“indexOf”检查不应该是正数

Java     Code Smell       可疑  

“indexOf”检查应使用起始位置

Java     Code Smell       扑朔迷离  

应删除始终返回“true”或“false”的“instanceof”运算符

Java     Bug   

“interface”实例不应转换为具体类型

C#     代码气味       设计  

不应忽略“InterruptedException”

Java     Bug       cwe,多线程  

“ISerializable”应该正确实施

C#     代码气味   

“Iterator.hasNext()”不应该调用“Iterator.next()”

Java     Bug   

“Iterator.next()”方法应抛出“NoSuchElementException”

Java     Bug       不可预知的  

不应该扩展“java.lang.Error”

Java     Code Smell       错误处理  

“javax.crypto.NullCipher”不应用于测试之外的任何其他内容

Java     漏洞       cwe,owasp-a6,sans-top25-porous  

“锁定”对象不应“同步”

Java     Code Smell       证书,笨拙,多线程  

“主要”不应该“抛出”任何东西

Java     Code Smell       错误处理  

不应使用“MovieClip.onEnterFrame”事件处理程序

Flex     Code Smell       性能  

“NaN”不应用于比较

JavaScript     Bug       证书  

“NaN”不应用于比较

C#     Bug       证书  

“new”运算符应该与函数一起使用

JavaScript     Bug   

应该使用“notifyAll”

Java     Bug       证书,多线程  

“null”不应与“Optional”一起使用

Java     Bug       java8  

不应该捕获“NullPointerException”

Java     Code Smell       证书,cwe,错误处理  

不应显式抛出“NullPointerException”

Java     Code Smell       陷阱  

覆盖时,“Object.finalize()”应保持受保护(相对于公共)

Java     Code Smell       证书,cwe  

“Object.ReferenceEquals”不应用于值类型

C#     Bug   

应在“while”循环内调用“Object.wait(...)”和“Condition.await(...)”

Java     Code Smell       证书,多线程  

永远不应该在实现“java.util.concurrent.locks.Condition”的对象上调用“Object.wait(...)”

Java     Code Smell       可疑  

“open_basedir”应限制文件访问权限

PHP     漏洞       cwe,php-ini  

不应在引用类型上重载“operator ==”

C#     代码气味       陷阱  

“可选”不应用于参数

Java     Code Smell       笨拙  

不应使用“out”和“ref”参数

C#     代码气味       可疑  

“params”应该用于覆盖

C#     代码气味       扑朔迷离  

不应在覆盖上引入“params”

C#     代码气味       扑朔迷离  

“部分”方法参数名称应匹配

C#     代码气味       证书,misra,可疑  

“通行证”不应该被不必要地使用

Python     代码嗅觉       没用过  

不应使用“php_sapi_name()”

PHP     Bug       性能  

“前置条件”和记录参数不应该要求评估

Java     Code Smell       性能  

应使用有效索引调用“PreparedStatement”和“ResultSet”方法

Java     Bug       SQL  

仅由内部类调用的“私有”方法应该移动到这些类

Java     Code Smell       扑朔迷离  

不访问实例数据的“私有”方法应该是“静态的”

Java     Code Smell       陷阱  

“public static”字段应该是不变的

Flex     漏洞       证书,cwe  

“public static”字段应该是不变的

Java     漏洞       证书,cwe  

应使用“read”和“readLine”返回值

Java     Bug   

“readObject”不应该“同步”

Java     Code Smell       扑朔迷离  

“readResolve”方法应该是可继承的

Java     Code Smell       陷阱  

应使用“require_once”和“include_once”代替“require”和“include”

PHP     Bug   

不应使用“ResultSet.isLast()”

Java     Code Smell       性能,陷阱,sql  

“return”和“yield”不能用于同一个函数

Python     Bug   

不应该调用“runFinalizersOnExit”

Java     Bug       证书  

不应该调用“SafeHandle.DangerousGetHandle”

C#     代码气味       泄漏,不可预测  

“ScheduledThreadPoolExecutor”不应该有0个核心线程

Java     Bug   

“密封”课程不应该有“受保护”的成员

C#     代码气味       扑朔迷离  

“Serializable”类应具有版本ID

Java     Code Smell       证书,陷阱,序列化  

“Serializable”类的“Serializable”内部类应该是静态的

Java     Code Smell       证书,陷阱,序列化  

“可序列化”的非可序列化类的内部类应该是“静态的”

Java     Bug       证书,序列化  

“ServiceContract”和“OperationContract”属性应该一起使用

C#     代码气味       API设计  

不应启用“session.use_trans_sid”

PHP     漏洞       owasp-a5,php-ini  

“SingleConnectionFactory”实例应设置为“reconnectOnException”

Java     Bug       弹簧  

不应该叫“睡觉”

PHP     漏洞   

“static readonly”常量应该是“const”

C#     代码气味       性能  

“static”字段应该内联初始化

C#     代码气味   

应静态访问“静态”成员

Java     Code Smell       陷阱  

应谨慎使用“严格”模式

JavaScript     代码气味       跨浏览器,用户体验  

应该使用“string.IsNullOrEmpty”

C#     代码气味       笨拙  

“string.ToCharArray()”不应该被冗余调用

C#     Bug       笨拙  

“StringBuilder”和“StringBuffer”不应该用字符实例化

Java     Bug       陷阱  

应在“Object.finalize()”实现的末尾调用“super.finalize()”

Java     Bug       证书,cwe  

“switch case”子句不应该有太多行

Flex     Code Smell       大脑超负荷  

“switch case”子句不应该有太多行

PHP     代码气味       大脑超负荷  

“switch case”子句不应该有太多代码行

Java     Code Smell       大脑超负荷  

“switch”语句应以“default”子句结尾

JavaScript     代码气味       cert,cwe,misra  

“switch”语句应以“default”子句结尾

Java     Code Smell       cert,cwe,misra  

“switch”语句应以“default”子句结束

Flex     Code Smell       cert,cwe,misra  

“switch”语句应至少包含3个“case”子句

JavaScript     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

Flex     Code Smell       MISRA  

“switch”语句应至少包含3个“case”子句

C#     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

PHP     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

Java     Code Smell       糟糕的做法,misra  

“switch”语句不应该嵌套

Flex     Code Smell       陷阱  

“switch”语句不应包含非案例标签

JavaScript     代码气味       misra,可疑  

“switch”语句不应包含非案例标签

Java     Code Smell       misra,可疑  

“switch”语句不应该有太多“case”条款

C#     代码气味       大脑超负荷  

“switch”语句不应该有太多“case”条款

PHP     代码气味       大脑超负荷  

“switch”语句不应该有太多“case”条款

Java     Code Smell       大脑超负荷  

“switch / Select”语句应以“default / Case Else”子句结尾

C#     代码气味       cert,cwe,misra  

“符号”不应用作构造函数

JavaScript     Bug       ES2015  

不应在测试中使用“Thread.sleep”

Java     Code Smell       坏实践  

在预期“Runnables”的地方不应使用“Threads”

Java     Code Smell       多线程,陷阱  

不应初始化“ThreadStatic”字段

C#     Bug       多线程  

不应在非静态字段上使用“ThreadStatic”

C#     Bug       没用过  

“抛出”声明不应该是多余的

Java     Code Smell       笨拙,多余,未使用  

“toArray”应该传递一个正确类型的数组

Java     Bug   

“toString()”和“clone()”方法不应返回null

Java     Bug       CWE  

“ToString()”调用不应该是多余的

C#     代码气味       笨拙,发现  

“ToString()”方法不应返回null

C#     Bug       CWE  

永远不应该在String对象上调用“toString()”

Java     Code Smell       笨拙,发现  

不应指定“未定义”

JavaScript     代码气味       可疑  

应避免使用“URL.hashCode”和“URL.equals”

Java     Code Smell       性能  

应使用“值”参数

C#     代码气味       陷阱  

不应使用“void”

JavaScript     代码气味       扑朔迷离  

保持多个锁时不应调用“wait”

Java     Bug       死锁,多线程  

“wait”,“notify”和“notifyAll”只应在对象明显保持锁定时调用

Java     Bug       多线程  

当持有锁时,应该使用“wait(...)”而不是“Thread.sleep(...)”

Java     Bug       证书,多线程,性能  

不应使用“with”语句

JavaScript     Bug   

不应使用“with”语句

Flex     Bug   

“writeObject”不应该是类中唯一的“同步”代码

Java     Code Smell       扑朔迷离  

“yield”和“return”不应该在函数之外使用

Python     Bug   

不应在发电机外使用“yield”表达式

JavaScript     Bug       ES2015  

@FunctionalInterface注释应该用于标记单个抽象方法接口

不推荐的     Java     代码嗅觉   

__exit__必须接受3个参数:type,value,traceback

弃用的     Python     代码嗅觉   

__future__ import不是第一个非docstring语句

Python     代码嗅觉   

调用非直接基类的__init__方法

Python     代码嗅觉   

不调用基类的__init__方法

Python     代码嗅觉   

__init__方法是一个生成器

弃用的     Python     代码嗅觉   

__iter__返回非迭代器

Python     代码嗅觉   

“for”循环更新子句应该使计数器向正确的方向移动

JavaScript     Bug       证书  

“for”循环更新子句应该使计数器向正确的方向移动

Java     Bug       证书  

应该使用“while”循环而不是“for”循环

JavaScript     代码气味       笨拙  

应该使用“while”循环而不是“for”循环

PHP     代码气味       笨拙  

应该使用“while”循环而不是“for”循环

Java     Code Smell       笨拙  

一个紧密的花括号应该位于一行的开头

C#     代码气味       惯例  

一个紧密的花括号应该位于一行的开头

PHP     代码气味       惯例  

一个紧密的花括号应该位于一行的开头

Java     Code Smell       惯例  

字段不应复制其包含类的名称

Python     代码嗅觉       大脑超负荷  

字段不应复制其包含类的名称

Java     Code Smell       大脑超负荷  

函数应该在函数末尾有一个退出点

Flex     Code Smell       混乱,misra  

抽象类名称应符合命名约定

Java     Code Smell       惯例  

抽象类未引用

Python     代码嗅觉   

抽象类使用次数太少

Python     代码嗅觉   

不带字段的抽象类应转换为接口

Java     Code Smell       java8  

抽象方法没有被覆盖

Python     代码嗅觉   

抽象方法不应该是多余的

Java     Code Smell       扑朔迷离  

访问不存在的成员

Python     代码嗅觉   

访问客户端类的受保护成员

Python     代码嗅觉   

在定义之前访问成员

Python     代码嗅觉   

访问不存在的成员(类型信息不完整)

Python     代码嗅觉   

不应使用别名函数

PHP     代码气味       过时的  

条件结构中的所有分支不应具有完全相同的实现

JavaScript     Bug   

条件结构中的所有分支不应具有完全相同的实现

Java     Bug   

抽象类应该同时具有抽象和具体方法

C#     代码气味       惯例  

抽象类应该同时具有抽象和具体方法

Java     Code Smell       惯例  

一个开放的大括号应该位于一行的开头

PHP     代码气味       惯例  

一个开放的大括号应该位于一行的开头

Java     Code Smell       惯例  

一个开放的大括号应该位于一行的末尾

JavaScript     代码气味       惯例  

一个开放的大括号应该位于一行的末尾

PHP     代码气味       惯例  

一个开放的大括号应该位于一行的末尾

Java     Code Smell       惯例  

分析失败了

Python     代码嗅觉   

注释参数应按声明它们的顺序出现

Java     Code Smell       惯例  

不应包装注释重复

Java     Code Smell       java8  

异常反斜杠逃脱

弃用的     Python     代码嗅觉   

字节字符串中的异常Unicode转义

Python     代码嗅觉   

匿名代表不应该用于取消订阅活动

C#     Bug   

只包含一个方法的匿名内部类应该成为lambdas

Java     Code Smell       java8  

扩展Event类的任何类都应该重写Event.clone()

Flex     Bug   

参数编号差异

Python     代码嗅觉   

内置函数的参数应与文档类型匹配

JavaScript     代码气味   

算术运算不应该导致“NaN”

JavaScript     代码气味   

算术运算符应该只有数字作为操作数

JavaScript     代码气味       扑朔迷离  

不应使用数组构造函数

JavaScript     代码气味       可疑  

不应使用数组协方差

C#     代码气味       陷阱  

数组指示符“[]”应位于方法签名中的类型之后

Java     Code Smell       惯例  

数组指示符“[]”应该是类型,而不是变量

Java     Code Smell       惯例  

数组索引应为数字

JavaScript     代码气味       坏实践  

工件ID应遵循命名约定

Java     Code Smell       惯例,maven  

“&&”和“||” 应该使用

PHP     Bug       可疑  

“.equals()”不应用于测试“原子”类的值

Java     Bug       多线程  

“<>”不应用于测试不平等

Python     代码嗅觉       过时的  

应使用“<?php”和“<?=”标签

PHP     代码气味       惯例,psr1  

不应使用“= +”代替“+ =”

JavaScript     Bug   

不应使用“= +”代替“+ =”

C#     Bug   

当覆盖“等于”时,不应使用“==”和“!=”

Java     Code Smell       证书,cwe,可疑  

当“等于”被覆盖时,不应使用“==”

C#     代码气味       证书,cwe,可疑  

应使用“===”和“!==”代替“==”和“!=”

JavaScript     代码气味       可疑  

应使用“===”和“!==”代替“==”和“!=”

Flex     Code Smell       可疑  

不应使用“@Deprecated”代码

Java     Code Smell       证书,cwe,已过时  

“@NonNull”值不应设置为null

Java     Bug   

“@Override”应该用于覆盖和实现方法

Java     Code Smell       坏实践  

“@RequestMapping”方法应该是“公开的”

Java     漏洞       弹簧  

当“[DefaultParameterValue]”表示时,不应使用“[DefaultValue]”

C#     代码气味       可疑  

“[可选]”不应用于“ref”或“out”参数

C#     代码气味       陷阱  

“[type = ...]”应该用于按类型选择元素

JavaScript     代码气味       jquery,表现  

“\”只能用作原始字符串之外的转义字符

Python     代码嗅觉   

“__construct”函数不应该对父构造函数进行PHP 4样式的调用

PHP     代码气味       惯例  

“__exit__”应该接受type,value和traceback参数

Python     Bug   

“__init__”不应返回值

Python     Bug   

“抽象”类不应该有“公共”构造函数

C#     代码气味       扑朔迷离  

“动作”映射不应该有太多“前进”条目

Java     Code Smell       脑过载,支柱  

不应使用“alert(...)”

JavaScript     漏洞       cwe,用户体验  

不应使用“Alert.show(...)”

Flex     漏洞       cwe,用户体验  

应禁用“allow_url_fopen”和“allow_url_include”

PHP     漏洞       cwe,owasp-a1,php-ini,sans-top25-risky  

应该使用“任何()”来测试空虚

C#     代码气味       笨拙  

不应直接访问“参数”

JavaScript     代码气味       api-design,es2015  

不应使用“arguments.caller”和“arguments.callee”

JavaScript     代码气味       过时的  

“Arrays.stream”应该用于原始数组

Java     Code Smell       性能  

不应该调用“Assembly.GetExecutingAssembly”

C#     代码气味       性能  

应该使用“Assembly.Load”

C#     代码气味       不可预知的  

“async”和“await”不应用作标识符

C#     代码气味       陷阱  

“async”方法不应返回“void”

C#     Bug       多线程  

如果“base”不是“object”,则“base.Equals”不应用于检查“Equals”中的引用相等性

C#     Bug   

不应使用“BigDecimal(double)”

Java     Bug       证书  

不应在循环外使用“break”和“continue”

Python     代码嗅觉   

“捕获”条款应该不仅仅是重新抛出

C#     代码气味       证书,笨拙,发现,未使用  

“捕获”条款应该不仅仅是重新抛出

Java     Code Smell       证书,笨拙,发现,未使用  

应启用“cgi.force_redirect”

PHP     漏洞       cwe,owasp-a5,php-ini  

“克隆”不应该被覆盖

Java     Code Smell       可疑  

“Cloneables”应该实现“克隆”

Java     Bug   

不应使用“Collections.EMPTY_LIST”,“EMPTY_MAP”和“EMPTY_SET”

Java     Code Smell       过时的,陷阱  

不应检查“compareTo”结果的具体值

Java     Bug       不可预知的  

“compareTo”不应返回“Integer.MIN_VALUE”

Java     Bug   

应使用“ConfigureAwait(false)”

C#     代码气味       多线程,可疑  

不应使用“继续”

JavaScript     代码气味       糟糕的做法,misra  

不应使用“CoSetProxyBlanket”和“CoInitializeSecurity”

C#     代码气味   

不应使用Apache Commons Lang库中的“DateUtils.truncate”

Java     Code Smell       java8,性能  

当使用对象或数组时,“defaults”应该是一个函数

JavaScript     Bug       骨干  

“delete”只能用于对象属性

JavaScript     Bug   

不应在数组上使用“delete”

JavaScript     代码气味   

不应使用“deleteOnExit”

Java     Code Smell       性能  

“Double.longBitsToDouble”不应该用于“int”

Java     Bug   

应使用“elseif”关键字代替“else if”关键字

PHP     代码气味       惯例,psr2  

应禁用“enable_dl”

PHP     漏洞       cwe,php-ini  

当需要键和值时,应该迭代“entrySet()”

Java     Code Smell       性能  

“enum”字段不应该是公开可变的

Java     漏洞       坏实践  

实现“IComparable”时,应该覆盖“等于”和比较运算符

C#     Bug   

“equals”方法覆盖应接受“对象”参数

Java     Bug       可疑  

“equals”方法应该是对称的,适用于子类

Java     Bug       证书  

应该成对覆盖“equals(Object obj)”和“hashCode()”

Java     Bug       证书,cwe  

“equals(Object obj)”应该与“compareTo(T obj)”方法一起被覆盖

Java     Bug   

“equals(Object obj)”应测试参数类型

Java     Bug   

应该成对覆盖“Equals(Object)”和“GetHashCode()”

C#     Bug       证书,cwe  

不应绑定或分配“eval”和“arguments”

JavaScript     Bug       陷阱  

当被调用的方法不需要时,不应该捕获“异常”

Java     Code Smell       cwe,错误处理  

不应使用“exit(...)”和“die(...)”语句

PHP     Bug   

不应使用“foreach”循环的“显式”转换

C#     代码气味       可疑  

“Externalizable”类应该没有参数构造函数

Java     Bug   

不应使用“File.createTempFile”来创建目录

Java     漏洞       OWASP-A9  

应禁用“file_uploads”

PHP     漏洞       cwe,php-ini,sans-top25-insecure  

“最终”类不应该有“受保护”成员

Java     Code Smell       扑朔迷离  

“最终”不应冗余使用

PHP     代码气味       惯例  

“finalize”不应将字段设置为“null”

Java     Code Smell       笨拙,表现  

“find”应该用于选择id已知的元素的子元素

JavaScript     代码气味       jquery,性能,用户体验  

应该处理“FIXME”标签

Python     代码嗅觉   

“for”循环增量子句应该修改循环的计数器

JavaScript     代码气味       扑朔迷离  

“for”循环增量子句应该修改循环的计数器

C#     代码气味       扑朔迷离  

“for”循环增量子句应该修改循环的计数器

Java     Code Smell       扑朔迷离  

“for”循环停止条件应该是不变的

Flex     Code Smell       misra,陷阱  

“for”循环停止条件应该是不变的

C#     代码气味       misra,陷阱  

“for”循环停止条件应该是不变的

PHP     代码气味       misra,陷阱  

“for”循环停止条件应该是不变的

Java     Code Smell       misra,陷阱  

“for ... in”循环应该在对它们进行操作之前过滤属性

JavaScript     Bug   

“未来保留字”不应用作标识符

JavaScript     代码气味       锁定,陷阱  

不应该调用“GC.Collect”

C#     代码气味       糟糕的做法,表现,不可预测  

不应该调用“GC.SuppressFinalize”

C#     代码气味   

对于没有析构函数的类型,不应调用“GC.SuppressFinalize”

C#     代码气味       混乱,未使用  

“getClass”不应用于同步

Java     Bug       证书,多线程  

“GetHashCode”不应该引用可变字段

C#     Bug   

不应该使用“全球”

PHP     代码气味       惯例  

不应使用“goto”语句

C#     代码气味       脑过载,misra  

不应使用“goto”语句

PHP     代码气味       脑过载,misra  

不应在数组实例上调用“hashCode”和“toString”

Java     Bug   

不应使用“HttpServletRequest.getRequestedSessionId()”

Java     漏洞       cwe,owasp-a2,sans-top25-porous  

“IDisposable”应该正确实施

C#     代码气味   

不应返回在“using”语句中创建的“IDisposable”

C#     Bug   

应该处理“IDisposables”

C#     Bug       cwe,拒绝服务  

应该简化“IEnumerable”LINQ

C#     代码气味       笨拙  

“如果......其他如果”构造应该以“else”条款结束

JavaScript     代码气味       证书,misra  

“如果......其他如果”构造应该以“else”条款结束

C#     代码气味       证书,misra  

“如果......其他如果”构造应该以“else”条款结束

PHP     代码气味       证书,misra  

“import”应该用于包含外部代码

JavaScript     代码气味       惯例,es2015,已过时  

“in”不应与原始类型一起使用

JavaScript     Bug   

“indexOf”检查不应该是正数

JavaScript     代码气味       可疑  

“IndexOf”检查不应该是正数

C#     代码气味       可疑  

“indexOf”检查不应该是正数

Java     Code Smell       可疑  

“indexOf”检查应使用起始位置

Java     Code Smell       扑朔迷离  

应删除始终返回“true”或“false”的“instanceof”运算符

Java     Bug   

“interface”实例不应转换为具体类型

C#     代码气味       设计  

不应忽略“InterruptedException”

Java     Bug       cwe,多线程  

“ISerializable”应该正确实施

C#     代码气味   

“Iterator.hasNext()”不应该调用“Iterator.next()”

Java     Bug   

“Iterator.next()”方法应抛出“NoSuchElementException”

Java     Bug       不可预知的  

不应该扩展“java.lang.Error”

Java     Code Smell       错误处理  

“javax.crypto.NullCipher”不应用于测试之外的任何其他内容

Java     漏洞       cwe,owasp-a6,sans-top25-porous  

“锁定”对象不应“同步”

Java     Code Smell       证书,笨拙,多线程  

“主要”不应该“抛出”任何东西

Java     Code Smell       错误处理  

不应使用“MovieClip.onEnterFrame”事件处理程序

Flex     Code Smell       性能  

“NaN”不应用于比较

JavaScript     Bug       证书  

“NaN”不应用于比较

C#     Bug       证书  

“new”运算符应该与函数一起使用

JavaScript     Bug   

应该使用“notifyAll”

Java     Bug       证书,多线程  

“null”不应与“Optional”一起使用

Java     Bug       java8  

不应该捕获“NullPointerException”

Java     Code Smell       证书,cwe,错误处理  

不应显式抛出“NullPointerException”

Java     Code Smell       陷阱  

覆盖时,“Object.finalize()”应保持受保护(相对于公共)

Java     Code Smell       证书,cwe  

“Object.ReferenceEquals”不应用于值类型

C#     Bug   

应在“while”循环内调用“Object.wait(...)”和“Condition.await(...)”

Java     Code Smell       证书,多线程  

永远不应该在实现“java.util.concurrent.locks.Condition”的对象上调用“Object.wait(...)”

Java     Code Smell       可疑  

“open_basedir”应限制文件访问权限

PHP     漏洞       cwe,php-ini  

不应在引用类型上重载“operator ==”

C#     代码气味       陷阱  

“可选”不应用于参数

Java     Code Smell       笨拙  

不应使用“out”和“ref”参数

C#     代码气味       可疑  

“params”应该用于覆盖

C#     代码气味       扑朔迷离  

不应在覆盖上引入“params”

C#     代码气味       扑朔迷离  

“部分”方法参数名称应匹配

C#     代码气味       证书,misra,可疑  

“通行证”不应该被不必要地使用

Python     代码嗅觉       没用过  

不应使用“php_sapi_name()”

PHP     Bug       性能  

“前置条件”和记录参数不应该要求评估

Java     Code Smell       性能  

应使用有效索引调用“PreparedStatement”和“ResultSet”方法

Java     Bug       SQL  

仅由内部类调用的“私有”方法应该移动到这些类

Java     Code Smell       扑朔迷离  

不访问实例数据的“私有”方法应该是“静态的”

Java     Code Smell       陷阱  

“public static”字段应该是不变的

Flex     漏洞       证书,cwe  

“public static”字段应该是不变的

Java     漏洞       证书,cwe  

应使用“read”和“readLine”返回值

Java     Bug   

“readObject”不应该“同步”

Java     Code Smell       扑朔迷离  

“readResolve”方法应该是可继承的

Java     Code Smell       陷阱  

应使用“require_once”和“include_once”代替“require”和“include”

PHP     Bug   

不应使用“ResultSet.isLast()”

Java     Code Smell       性能,陷阱,sql  

“return”和“yield”不能用于同一个函数

Python     Bug   

不应该调用“runFinalizersOnExit”

Java     Bug       证书  

不应该调用“SafeHandle.DangerousGetHandle”

C#     代码气味       泄漏,不可预测  

“ScheduledThreadPoolExecutor”不应该有0个核心线程

Java     Bug   

“密封”课程不应该有“受保护”的成员

C#     代码气味       扑朔迷离  

“Serializable”类应具有版本ID

Java     Code Smell       证书,陷阱,序列化  

“Serializable”类的“Serializable”内部类应该是静态的

Java     Code Smell       证书,陷阱,序列化  

“可序列化”的非可序列化类的内部类应该是“静态的”

Java     Bug       证书,序列化  

“ServiceContract”和“OperationContract”属性应该一起使用

C#     代码气味       API设计  

不应启用“session.use_trans_sid”

PHP     漏洞       owasp-a5,php-ini  

“SingleConnectionFactory”实例应设置为“reconnectOnException”

Java     Bug       弹簧  

不应该叫“睡觉”

PHP     漏洞   

“static readonly”常量应该是“const”

C#     代码气味       性能  

“static”字段应该内联初始化

C#     代码气味   

应静态访问“静态”成员

Java     Code Smell       陷阱  

应谨慎使用“严格”模式

JavaScript     代码气味       跨浏览器,用户体验  

应该使用“string.IsNullOrEmpty”

C#     代码气味       笨拙  

“string.ToCharArray()”不应该被冗余调用

C#     Bug       笨拙  

“StringBuilder”和“StringBuffer”不应该用字符实例化

Java     Bug       陷阱  

应在“Object.finalize()”实现的末尾调用“super.finalize()”

Java     Bug       证书,cwe  

“switch case”子句不应该有太多行

Flex     Code Smell       大脑超负荷  

“switch case”子句不应该有太多行

PHP     代码气味       大脑超负荷  

“switch case”子句不应该有太多代码行

Java     Code Smell       大脑超负荷  

“switch”语句应以“default”子句结尾

JavaScript     代码气味       cert,cwe,misra  

“switch”语句应以“default”子句结尾

Java     Code Smell       cert,cwe,misra  

“switch”语句应以“default”子句结束

Flex     Code Smell       cert,cwe,misra  

“switch”语句应至少包含3个“case”子句

JavaScript     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

Flex     Code Smell       MISRA  

“switch”语句应至少包含3个“case”子句

C#     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

PHP     代码气味       糟糕的做法,misra  

“switch”语句应至少包含3个“case”子句

Java     Code Smell       糟糕的做法,misra  

“switch”语句不应该嵌套

Flex     Code Smell       陷阱  

“switch”语句不应包含非案例标签

JavaScript     代码气味       misra,可疑  

“switch”语句不应包含非案例标签

Java     Code Smell       misra,可疑  

“switch”语句不应该有太多“case”条款

C#     代码气味       大脑超负荷  

“switch”语句不应该有太多“case”条款

PHP     代码气味       大脑超负荷  

“switch”语句不应该有太多“case”条款

Java     Code Smell       大脑超负荷  

“switch / Select”语句应以“default / Case Else”子句结尾

C#     代码气味       cert,cwe,misra  

“符号”不应用作构造函数

JavaScript     Bug       ES2015  

不应在测试中使用“Thread.sleep”

Java     Code Smell       坏实践  

在预期“Runnables”的地方不应使用“Threads”

Java     Code Smell       多线程,陷阱  

不应初始化“ThreadStatic”字段

C#     Bug       多线程  

不应在非静态字段上使用“ThreadStatic”

C#     Bug       没用过  

“抛出”声明不应该是多余的

Java     Code Smell       笨拙,多余,未使用  

“toArray”应该传递一个正确类型的数组

Java     Bug   

“toString()”和“clone()”方法不应返回null

Java     Bug       CWE  

“ToString()”调用不应该是多余的

C#     代码气味       笨拙,发现  

“ToString()”方法不应返回null

C#     Bug       CWE  

永远不应该在String对象上调用“toString()”

Java     Code Smell       笨拙,发现  

不应指定“未定义”

JavaScript     代码气味       可疑  

应避免使用“URL.hashCode”和“URL.equals”

Java     Code Smell       性能  

应使用“值”参数

C#     代码气味       陷阱  

不应使用“void”

JavaScript     代码气味       扑朔迷离  

保持多个锁时不应调用“wait”

Java     Bug       死锁,多线程  

“wait”,“notify”和“notifyAll”只应在对象明显保持锁定时调用

Java     Bug       多线程  

当持有锁时,应该使用“wait(...)”而不是“Thread.sleep(...)”

Java     Bug       证书,多线程,性能  

不应使用“with”语句

JavaScript     Bug   

不应使用“with”语句

Flex     Bug   

“writeObject”不应该是类中唯一的“同步”代码

Java     Code Smell       扑朔迷离  

“yield”和“return”不应该在函数之外使用

Python     Bug   

不应在发电机外使用“yield”表达式

JavaScript     Bug       ES2015  

@FunctionalInterface注释应该用于标记单个抽象方法接口

不推荐的     Java     代码嗅觉   

__exit__必须接受3个参数:type,value,traceback

弃用的     Python     代码嗅觉   

__future__ import不是第一个非docstring语句

Python     代码嗅觉   

调用非直接基类的__init__方法

Python     代码嗅觉   

不调用基类的__init__方法

Python     代码嗅觉   

__init__方法是一个生成器

弃用的     Python     代码嗅觉   

__iter__返回非迭代器

Python     代码嗅觉   

“for”循环更新子句应该使计数器向正确的方向移动

JavaScript     Bug       证书  

“for”循环更新子句应该使计数器向正确的方向移动

Java     Bug       证书  

应该使用“while”循环而不是“for”循环

JavaScript     代码气味       笨拙  

应该使用“while”循环而不是“for”循环

PHP     代码气味       笨拙  

应该使用“while”循环而不是“for”循环

Java     Code Smell       笨拙  

一个紧密的花括号应该位于一行的开头

C#     代码气味       惯例  

一个紧密的花括号应该位于一行的开头

PHP     代码气味       惯例  

一个紧密的花括号应该位于一行的开头

Java     Code Smell       惯例  

字段不应复制其包含类的名称

Python     代码嗅觉       大脑超负荷  

字段不应复制其包含类的名称

Java     Code Smell       大脑超负荷  

函数应该在函数末尾有一个退出点

Flex     Code Smell       混乱,misra  

抽象类名称应符合命名约定

Java     Code Smell       惯例  

抽象类未引用

Python     代码嗅觉   

抽象类使用次数太少

Python     代码嗅觉   

不带字段的抽象类应转换为接口

Java     Code Smell       java8  

抽象方法没有被覆盖

Python     代码嗅觉   

抽象方法不应该是多余的

Java     Code Smell       扑朔迷离  

访问不存在的成员

Python     代码嗅觉   

访问客户端类的受保护成员

Python     代码嗅觉   

在定义之前访问成员

Python     代码嗅觉   

访问不存在的成员(类型信息不完整)

Python     代码嗅觉   

不应使用别名函数

PHP     代码气味       过时的  

条件结构中的所有分支不应具有完全相同的实现

JavaScript     Bug   

条件结构中的所有分支不应具有完全相同的实现

Java     Bug   

抽象类应该同时具有抽象和具体方法

C#     代码气味       惯例  

抽象类应该同时具有抽象和具体方法

Java     Code Smell       惯例  

一个开放的大括号应该位于一行的开头

PHP     代码气味       惯例  

一个开放的大括号应该位于一行的开头

Java     Code Smell       惯例  

一个开放的大括号应该位于一行的末尾

JavaScript     代码气味       惯例  

一个开放的大括号应该位于一行的末尾

PHP     代码气味       惯例  

一个开放的大括号应该位于一行的末尾

Java     Code Smell       惯例  

分析失败了

Python     代码嗅觉   

注释参数应按声明它们的顺序出现

Java     Code Smell       惯例  

不应包装注释重复

Java     Code Smell       java8  

异常反斜杠逃脱

弃用的     Python     代码嗅觉   

字节字符串中的异常Unicode转义

Python     代码嗅觉   

匿名代表不应该用于取消订阅活动

C#     Bug   

只包含一个方法的匿名内部类应该成为lambdas

Java     Code Smell       java8  

扩展Event类的任何类都应该重写Event.clone()

Flex     Bug   

参数编号差异

Python     代码嗅觉   

内置函数的参数应与文档类型匹配

JavaScript     代码气味   

算术运算不应该导致“NaN”

JavaScript     代码气味   

算术运算符应该只有数字作为操作数

JavaScript     代码气味       扑朔迷离  

不应使用数组构造函数

JavaScript     代码气味       可疑  

不应使用数组协方差

C#     代码气味       陷阱  

数组指示符“[]”应位于方法签名中的类型之后

Java     Code Smell       惯例  

数组指示符“[]”应该是类型,而不是变量

Java     Code Smell       惯例  

数组索引应为数字

JavaScript     代码气味       坏实践  

工件ID应遵循命名约定

Java     Code Smell       惯例,maven  

程序集应具有版本信息

程序集应具有版本信息

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jacoco-sonarqube-maven覆盖率统计是一种用于统计代码覆盖率的工具链,主要用于帮助开发团队了解代码的测试覆盖情况,并评估测试质量。这个工具链由三个核心组件组成:Jacoco、SonarQube和Maven。 Jacoco是一个开源的覆盖率工具,可以用于Java代码的覆盖率统计。它通过在代码中插入特定的监控字节码,可以记录代码被执行的情况,并生成相应的覆盖率报告。Jacoco可以用于生成行覆盖率、分支覆盖率、方法覆盖率等多种类型的覆盖率报告。 SonarQube是一个开源的代码质量管理平台,可以用于对代码进行静态代码分析、代码度量和测试覆盖率等多项指标的监控。通过SonarQube,开发团队可以获得代码的质量指标、可视化的报告和图表,以帮助他们及时发现代码中的问题并进行改进。 Maven是一个Java项目的构建工具,可以用于管理项目的依赖关系、编译、测试和部署等过程。通过在Maven的配置文件中集成Jacoco和SonarQube插件,可以使得代码的覆盖率统计成为整个项目构建和测试流程的一部分。这样,每次进行Maven构建时,都会自动运行Jacoco插件并生成覆盖率报告,并将报告上传到SonarQube服务器进行展示和分析。 总结来说,jacoco-sonarqube-maven覆盖率统计参考项目是一个基于Jococo、SonarQube和Maven的工具链,能够帮助开发团队统计代码的覆盖率并进行质量评估。它能够让开发团队及时了解代码的覆盖情况,发现潜在的问题,并通过SonarQube的静态代码分析功能进行进一步的优化和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值