当前位置:首页 > 服务端 > Sonar在检查java代码隐患中的作用

Sonar在检查java代码隐患中的作用

Sonar作为一个非常实用的代码质量检查工具,可以在各个维度对整个工程进行一个量化,如代码的测试覆盖率、代码内聚性指标、代码复杂度、代码的重复性检查、包之间的依存度以及代码冲突性等,可以非常直观的通过图标看到这些数据,关于sonar的安装和使用在本博的另一篇文章(《代码质量检查工具Sonar结合hudson、maven使用》)有详细描述,本文主要介绍sonar能够检查出的代码隐患。

  • 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 在方法体中修改了某值意图想传出来,但实际上操作的是一个新的对象或者值,如改变基本类型的参数

以上是部分常见的隐患类型,还有不少其他的没有写入。


 

作者:javawebsoa
来源链接:https://www.cnblogs.com/javawebsoa/archive/2013/05/26/3100537.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/124604.html

标签: unused variable
分享给朋友:

“Sonar在检查java代码隐患中的作用” 的相关文章