java代码检测数据重复_Sonar在检查java代码隐患中的作用 | 学步园

Avoid Decimal Literals In Big Decimal Constructor 应避免使用Decimal(0.5)这样的做法,因为这样是错误的不精确的

Avoid Rethrowing Exception 不应当在catch语句中重新抛出另外的异常

Avoid Throwing Null Pointer Exception 不应该抛出空指针异常

Boolean Instantiation 不需要实例化布尔变量,只需=Boolean.True or =Boolean.Flase

Close Resource 有未关闭的资源,需要使用finally语句块确保安全

Collapsible If Statements 如果有多条if语句连续出现,可以使用短路条件if(A && B && ......)提高效率

Compare Objects With Equals 比较两个对象应该使用equal而不是等于

Cyclomatic Complexity 通常来讲,这个方法或者类太长了,需要分解

Dont Import Java Lang Java.Lang是默认引入的不需要显示引入

Empty Finalizer或Empty Finally Block或Empty If Stmt或Empty Statement或Empty Static Initializer或Empty Switch Statements或Empty Synchronized Block或Empty Try Block或Empty While Stmt:这个是非常常见的代码问题,if、switch、finally、try等内部是空的,很有可能是码农忘记处理了

Equals Hash Code 方法equal重写了但是hashcode未重写

Equals Null   和null比较用==而不是用equals

If Else Stmts Must Use Braces或If Stmts Must Use Braces 编码时if或者else不写大括号,很容易出现问题

Magic Number 魔术数,指的是一个数字无端的出现在代码中,但是却不知道其含义,很常见

Naming - *** 通常是类、方法、变量的命名不规范

Replace Vector With List 应使用List来代替Vector提高效率

Security - Array is stored directly 通常是数组类型的参数使用时,没有使用clone,方法直接改变了引用所指的对象

Singular Field 仅在某方法中使用的变量不应该声明为实例变量

Unconditional If Statement 通常是If语句永远为真或者永远为假

Unnecessary Case Change 使用equalsIgnoreCase()更高效

Unused Private Field或Unused formal parameter或Unused local variable或Unused private method没 有用到的变量、参数、方法

Useless Operation On Immutable 在方法体中修改了某值意图想传出来,但实际上操作的是一个新的对象或者值,如改变基本类型的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值