软件质量技术研究
代码质量锁涉及的5个方面 1:编码标准:命名规范,代码风格等 2:代码重复:重复代码需要提炼成公共方法或者组件化 3:代码覆盖率:测试代码能够运行到的代码比率,这关系到代码的功能性和稳定性。 5:依赖项分析:代码的依赖关系怎么样?耦合关系怎么样?是否有循环依赖?是否符合高内聚 低耦合的原则? 6:复杂度分析: 上面解释了代码质量相关的5个方面,在实际开发环境中,已经有很多工具为我们解决以上5个方 面的问题,下列5个eclipse插件分别对这5个问题有很好的支持: 1) 编码标准:CheckStyle 插件URL:http://eclipse-cs.sourceforge.net/update/ 2)代码重复:PMD的CPD 插件URL:http://pmd.sourceforge.net/eclipse/ 3)代码覆盖率:Eclemma 插件URL:http://update.eclemma.org 5)依赖项分析:JDepend 插件URL:http://andrei.gmxhome.de/eclipse/ 6)复杂度分析:Eclipse Metric 插件URL:http://metrics.sourceforge.net/update
Solar与idea结合 java项目利用sonar平台进行代码指标度量。比如复杂度、重复度、单测覆盖和数量、坏味道、bugs; sonar jar包使用过程中,涉及到几个插件 Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题: – 可能的bug——空的try/catch/finally/switch块。 – 无用代码(Dead code):无用的本地变量,方法参数和私有方法。 – 空的if/while语句。 – 过度复杂的表达式——不必要的if语句,本来可以用while循环但是却用了for循环。 – 可优化的代码:浪费性能的String/StringBuffer的使用。 FindBugs 它用来查找Java代码中存在的bug。它使用静态分析方法标识出Java程序中上百种潜在的不同类型的错误。 Checkstyle 它定义了一系列可用的模块,每一个模块提供了严格程度(强制的,可选的…)可配置的检查规则。规则可以触发通 知(notification),警告(warning)和错误(error)。