java代码静态检查工具介绍

合集下载

软件测试中的静态代码分析工具比较

软件测试中的静态代码分析工具比较

软件测试中的静态代码分析工具比较在软件测试中,静态代码分析工具是一种非常重要的工具,它可以帮助开发人员识别和修复潜在的代码问题。

本文将比较几种常见的静态代码分析工具,以帮助开发人员选择适合自己使用的工具。

我们来谈谈PMD。

PMD是一款开源的静态代码分析工具,主要用于Java代码。

它可以检查代码中的潜在问题,如未使用的变量、不规范的命名、重复的代码等。

PMD还提供了一些规则集,可以根据自己的需求进行配置。

它可以帮助开发人员在早期发现代码问题,并提供相应的建议和解决方案。

但是,PMD对于大型项目的分析效率相对较低,有时过多的警告也可能会导致开发人员忽视一些重要的问题。

另一个常用的静态代码分析工具是FindBugs。

与PMD类似,FindBugs也是一个开源工具,主要用于Java代码。

它使用静态分析技术来发现可能的错误、不良实践和潜在的性能问题。

FindBugs通过检查字节码来发现问题,可以在编译后的代码中检测到更多的潜在问题。

它提供了一个简单易用的用户界面,开发人员可以根据自己的需求配置和管理规则集。

值得一提的是,FindBugs的检测结果可读性较强,能够提供详细的问题描述和修复建议。

除了PMD和FindBugs,还有一种常见的静态代码分析工具是Checkstyle。

Checkstyle主要用于Java代码的规范检查。

它可以帮助开发人员保持一致的代码风格,遵循一些编程规范,如缩进、命名规则等。

Checkstyle提供了丰富的规则集,开发人员可以根据自己的需求进行配置。

它的分析速度相对较快,能够在编码过程中及时发现和修复不符合规范的代码。

然而,Checkstyle主要关注代码的格式和结构,可能会对一些语义错误漏检。

除了上述的几种工具,还有许多其他的静态代码分析工具可供选择,如SonarQube、Coverity等。

这些工具在功能和性能上可能有所不同,选择合适的工具需要考虑项目的特点、开发人员的经验和团队的需求。

Java静态检测工具的简单介绍 - Sonar、Findbugs

Java静态检测工具的简单介绍 - Sonar、Findbugs

Java静态检测工具的简单介绍- Sonar、Findbugs2010-11-04 13:55:54标签:sonar休闲职场Java静态检测工具的简单介绍 from:/?p=9015静态检查:静态测试包括代码检查、静态结构分析、代码质量度量等。

它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

”。

看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。

静态检测工具:1.PMD1)PMD是一个代码检查工具,它用于分析 Java 源代码,找出潜在的问题:1)潜在的bug:空的try/catch/finally/switch语句2)未使用的代码:未使用的局部变量、参数、私有方法等3)可选的代码:String/StringBuffer的滥用4)复杂的表达式:不必须的if语句、可以使用while循环完成的for循环5)重复的代码:拷贝/粘贴代码意味着拷贝/粘贴bugs2)PMD特点:1)与其他分析工具不同的是,PMD通过静态分析获知代码错误。

也就是说,在不运行Java程序的情况下报告错误。

2)PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题3)用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。

3)同时,PMD已经与JDeveloper、Eclipse、jEdit、JBuilder、BlueJ、CodeGuide、NetBeans、Sun JavaStudio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant、Gel、JCreator以及Emacs 集成在一起。

FindBugs

FindBugs

FindBugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,
常见的类型如下:
· 正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
重新启动Eclipse 。
我使用的是MyEclipse8.5可能路径和大家的不太一样,我是放到了路径Genuitec/MyEclipse 8.5/dropins下面
3、在Eclipse中使用FindBugs
重新启动eclipse
打开FindBugs视图
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
2 Detector Configuration选择项
在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。
3 Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:
你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
· 最佳实践反例(Bad practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
· 多线程正确性(Multபைடு நூலகம்threaded correctness):关注于同步和多线程问题。

如何使用代码分析工具来查找代码性能问题

如何使用代码分析工具来查找代码性能问题

如何使用代码分析工具来查找代码性能问题代码性能问题是指代码在执行过程中出现的慢速运行、高占用资源、频繁出现错误等不良现象。

为了找出并解决这些问题,可以使用代码分析工具来帮助定位和优化。

代码分析工具是指一类用于分析源代码并生成与代码相关的统计数据和分析报告的工具。

这些工具可以帮助开发人员识别代码中的潜在问题,比如低效的算法、内存泄漏、线程不安全等,从而提供相应的优化建议。

下面介绍一些常用的代码分析工具以及它们的使用方法:1.静态代码分析工具:静态代码分析工具可以在不运行代码的情况下对源代码进行分析。

它们通常会检查代码的语法、结构、逻辑等方面,并给出相应的警告或错误信息。

(1) PMD:PMD是一款Java代码静态分析工具,可以检查Java源代码中潜在的问题,例如未使用的变量、未关闭的资源等。

它支持多种规则集,可以通过配置文件进行自定义。

(2) FindBugs:FindBugs是一款基于静态分析原理的Java程序错误扫描工具。

它不仅可以检测一般性错误,如null引用、空指针等,还可以检测潜在的性能问题,如循环内部的不必要计算、过度同步等。

(3) ESLint:ESLint是一款用于JavaScript代码的静态分析工具,可以帮助开发人员识别和修复常见的编码错误和风格问题。

它支持自定义规则和插件,可以根据项目需求进行配置。

2.动态代码分析工具:动态代码分析工具可以在运行时监视代码的执行,并收集运行时数据以进行进一步的分析。

它们主要用于发现性能问题、内存泄漏和并发错误等。

(1) VisualVM:VisualVM是一款用于Java应用程序的性能分析工具,可以监视Java程序的CPU、内存和线程使用情况。

它提供了强大的分析和诊断功能,可以帮助开发人员确定性能瓶颈和内存泄漏等问题。

(2) Apache JMeter:Apache JMeter是一个Java程序,用于测试性能和负载的工具。

它可以模拟大量用户同时访问一个网站或应用程序,并测量系统的性能指标。

代码优化与性能分析工具

代码优化与性能分析工具

代码优化与性能分析工具在软件开发过程中,代码的优化和性能分析是非常重要的环节。

优化代码可以提高程序的执行效率,减少资源消耗,并改善用户体验。

而性能分析工具则可以帮助开发者发现代码中的性能瓶颈,有针对性地进行优化。

本文将介绍一些常用的代码优化和性能分析工具。

一、静态代码分析工具静态代码分析工具可以在编译阶段检查代码中的潜在问题和错误,并提供一些优化建议。

以下是一些常用的静态代码分析工具:1. 阿里巴巴编码规范插件:该插件可以检查代码是否符合阿里巴巴Java开发规范,并给出相应的修改建议。

2. FindBugs:FindBugs是一个用于静态分析Java字节码的工具,能够发现代码中的潜在问题和错误。

3. PMD:PMD是一个开源的代码分析工具,它可以检查代码中的潜在问题并提供相应的修复建议。

二、性能分析工具性能分析工具可以帮助开发者找到代码中存在的性能问题,提供详细的性能数据和分析报告,以便进行有针对性的优化。

以下是一些常用的性能分析工具:1. Java VisualVM:Java VisualVM是一款Java虚拟机监控和性能分析工具,可以监控应用程序的性能指标,并提供堆转储、线程转储和CPU快照等功能。

2. JProfiler:JProfiler是一款全功能的Java性能分析工具,可以实时监控代码的执行情况,并提供内存分析、线程分析和CPU分析等功能。

3. Apache JMeter:Apache JMeter是一款用于性能和负载测试的工具,可以模拟多种场景下的并发用户,并监控系统的性能指标。

4. Chrome开发者工具:Chrome开发者工具内置了一些强大的性能分析功能,可以监测网页的加载时间、JavaScript执行时间等信息,并提供相应的优化建议。

三、代码优化技巧除了使用工具进行性能分析,开发者还可以通过一些常用的代码优化技巧来改进程序的性能。

1. 减少IO操作:IO操作通常是程序性能的瓶颈之一。

代码质量度量和分析的工具和方法

代码质量度量和分析的工具和方法

代码质量度量和分析的工具和方法代码质量度量和分析是软件开发过程中的重要环节之一,它可以帮助开发团队评估代码的质量,及时发现潜在的问题,并提供改进的方向。

本文将介绍常见的代码质量度量和分析的工具和方法。

一、静态代码分析工具静态代码分析工具是通过检查源代码的文本内容来分析代码质量的工具。

下面是几个常见的静态代码分析工具:1. SonarQube:SonarQube是一款开源的静态代码分析工具,它可以检查代码的各类规范性问题、代码复杂度、代码重复、代码注释等。

SonarQube支持多种编程语言,如Java、C#、C++等。

2. Checkstyle:Checkstyle是一个用于检查Java代码规范性问题的工具,它可以帮助开发团队遵循统一的编码规范,提高代码可读性和可维护性。

3. FindBugs:FindBugs是一个用于检查Java代码缺陷的工具,它可以自动查找可能导致程序崩溃、性能下降或安全漏洞的问题。

FindBugs基于静态分析技术,通过检查字节码来发现潜在问题。

4. PMD:PMD是一个用于检查Java代码质量的工具,它可以检查代码的可读性、性能、安全性等方面的问题。

PMD提供了多种规则,可以根据项目的需求灵活配置。

二、代码复杂度分析工具代码复杂度是衡量代码难度和可维护性的一个重要指标,较高的复杂度常常意味着代码更加难以理解和维护。

下面是几个常见的代码复杂度分析工具:1. Cyclomatic Complexity:圈复杂度是一种用于度量代码复杂度的指标,它基于代码中的控制流程图。

可以使用一些工具,例如Checkstyle或SonarQube来检查代码的圈复杂度,并根据结果识别优化的机会。

2. McCabe Complexity:麦卡比复杂度也是一种度量代码复杂度的指标,它通过计算代码中的路径数来评估代码的复杂度。

相对于圈复杂度,麦卡比复杂度能更精确的度量代码的复杂度。

三、漏洞扫描工具在开发过程中,可能会存在一些安全漏洞,如跨站脚本攻击(XSS)、SQL注入、逻辑漏洞等。

代码静态检查工具与应用介绍

代码静态检查工具与应用介绍

代码静态检查工具与应用介绍代码的质量直接关系到软件的性能和可靠性。

为了提高代码质量,开发人员常常采用代码静态检查工具来检测潜在的代码缺陷和错误。

本文将介绍常用的代码静态检查工具及其应用,帮助读者更好地理解和应用这些工具。

一、什么是代码静态检查工具?代码静态检查工具是一类软件工具,通过扫描源代码来检查潜在的编程错误、不合规范的代码和潜在的安全隐患。

它可以在代码编写的早期发现问题,帮助开发人员提前修复错误,从而提高代码质量。

二、常用的代码静态检查工具1. FindBugs:FindBugs是一个基于Java字节码的静态分析工具,用于查找Java程序中的潜在缺陷。

它可以检测出空指针引用、资源未释放、不必要的对象创建等问题,并提供详细的问题报告。

2. PMD:PMD是一个针对Java源代码的静态规则检查工具。

它可以帮助开发人员发现代码中的潜在问题,如未使用的变量、无效的方法重写、复杂的表达式等。

PMD提供了多种规则,可以根据项目需求进行配置和定制。

3. ESLint:ESLint是用于JavaScript代码的静态检查工具,它能帮助开发人员发现代码中的潜在问题并提供修复建议。

ESLint支持可配置的规则集,可以根据项目需求进行灵活的配置。

4. Checkstyle:Checkstyle是一个用于Java代码的静态规则检查工具。

它可以帮助开发人员遵循编码规范,并提供统一的代码风格。

Checkstyle支持自定义规则和可配置的检查选项,以满足项目的需求。

三、代码静态检查工具的应用1. 代码质量控制:代码静态检查工具能够帮助开发人员发现代码缺陷和不规范的编码风格,并及时提供修复建议。

通过使用这些工具,可以规范代码质量,提高代码的可读性和可维护性。

2. 安全漏洞检测:代码静态检查工具能够帮助开发人员发现潜在的安全隐患,如SQL注入、跨站脚本攻击等。

通过及时修复这些问题,可以提高软件的安全性和可靠性。

3. 性能优化:代码静态检查工具还可以检测不合理的代码结构和低效的算法,帮助开发人员发现性能瓶颈,并提供相应的优化建议。

提高代码质量的静态分析工具推荐

提高代码质量的静态分析工具推荐

提高代码质量的静态分析工具推荐在软件开发过程中,提高代码质量是一项至关重要的任务。

一个高质量的代码可以减少潜在的代码缺陷,提高可维护性和可扩展性,减少调试时间,降低维护成本。

其中,静态分析工具是一个非常有用的技术手段。

静态分析是指在不执行代码的情况下对代码进行分析,旨在发现代码中的问题并提供相关建议和改进意见。

下面是一些常见的提高代码质量的静态分析工具。

1. SonarQube:SonarQube是一个开放源代码的静态代码质量管理平台。

它可以对多种编程语言进行静态分析,包括Java、C/C++、C#、JavaScript等。

SonarQube可以检查代码规范性、代码重复、潜在的漏洞等,并提供可视化的报告和指标。

它还集成了其他工具,如FindBugs、Checkstyle等,可以提供更全面的代码分析。

2. PMD:PMD是一个基于规则的静态代码分析工具,支持Java、C/C++、Apex、PLSQL等多种语言。

PMD可以检查代码的规范性、性能问题、潜在的错误和漏洞等,提供详细的报告和建议。

PMD还支持自定义规则,可以根据具体项目的需求扩展分析功能。

3. FindBugs:FindBugs是一个基于静态分析的Java程序缺陷检测工具。

它可以检查代码中的潜在缺陷,如空指针引用、错误使用异常处理、不可达代码等。

FindBugs使用一组预定义的规则来检查代码,并提供详细的报告和建议。

它还支持自定义规则和插件,以满足特定项目的需求。

4. ESLint:ESLint是一个用于JavaScript和TypeScript的静态代码分析工具。

它可以检查代码的规范性、潜在的错误、性能问题等,并提供高度可配置的规则和可定制的报告格式。

ESLint支持在开发过程中自动检查代码,并可以与编辑器和构建工具集成,提供实时的反馈和建议。

5. Checkstyle:Checkstyle是一个用于Java代码的静态代码分析工具。

它可以检查代码的规范性,如命名约定、代码布局、注释规范等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

静态检查:静态测试包括代码检查、静态结构分析、代码质量度量等。

它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

”。

看了一系列的静态代码扫描或者叫静态代码分析工具后,总结对工具的看法:静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。

静态检测工具:1. PMD1)PMD是一个代码检查工具,它用于分析 Java 源代码,找出潜在的问题:1)潜在的bug:空的try/catch/finally/switch语句2)未使用的代码:未使用的局部变量、参数、私有方法等3)可选的代码:String/StringBuffer的滥用4)复杂的表达式:不必须的if语句、可以使用while循环完成的for循环5)重复的代码:拷贝/粘贴代码意味着拷贝/粘贴bugs2)PMD特点:1)与其他分析工具不同的是,PMD通过静态分析获知代码错误。

也就是说,在不运行Java程序的情况下报告错误。

2)PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题3)用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。

3)同时,PMD已经与JDeveloper、Eclipse、jEdit、JBuilder、BlueJ、CodeGuide、NetBeans、Sun JavaStudio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant、Gel、JCreator以及Emacs集成在一起。

4)PMD规则是可以定制的: 可用的规则并不仅限于内置规则。

您可以添加新规则:可以通过编写 Java 代码并重新编译 PDM,或者更简单些,编写 XPath 表达式,它会针对每个 Java 类的抽象语法树进行处理。

5)只使用PDM内置规则,PMD 也可以找到你代码中的一些真正问题。

某些问题可能很小,但有些问题则可能很大。

PMD 不可能找到每个 bug,你仍然需要做单元测试和接受测试,在查找已知 bug 时,即使是 PMD 也无法替代一个好的调试器。

但是,PMD 确实可以帮助你发现未知的问题。

1. FindBugs1)FindBugs是一个开源的静态代码分析工具,基于LGPL开源协议,无需运行就能对代码进行分析的工具。

不注重style及format,注重检测真正的bug及潜在的性能问题,尤其注意了尽可能抑制误检测(false positives)的发生。

以bytecode(*.class、*.jar)为对象进行检查。

除了单独动作,还可以用作Eclipse 的plug-in,以及嵌入Ant作为task之一进行利用。

2)findbugs自带检测器的介绍: findbugs自带60余种Bad practice,80余种Correntness,1种Internationalization,12种Malicious codevulnerability,27种Multithreaded correntness,23种Performance,43种Dodgy。

3)Findbugs的一些特点:1)FindBugs主要着眼于寻找代码中的缺陷,这就与其他类似工具有些区别了,直接操作类文件(class文件)而不是源代码。

2)FindBugs可以通过命令行、各种构建工具(如Ant、Maven等)、独立的Swing GUI或是以Eclipse和NetBeans IDE插件的方式来运行。

3)FindBugs输出结果既可以是XML的,也可以是文本形式的。

4)开发者可以通过多种方式来使用FindBugs,最常见的是在新编写模块的代码分析以及对现有代码进行更大范围的分析。

5)不注重style及format,注重检测真正的bug及潜在的性能问题,尤其注意了尽可能抑制误检测(false positives)的发生。

4)FindBugs可检测的bug pattern举例:检测java programing中容易陷入的bug pattern,equals() 实现时的一般规约违反Null pointer的参照,Method的返回值的check遗漏,初始化前field的访问,Multi-thread的正确性,同期化处理的矛盾,无条件的wait(), Code的脆弱性,可以变更的静态object ,内部数列参照的return等1. Checkstyle1)定义: Checkstyle是一款检查Java程序源代码样式的工具。

2)特点:1)它可以有效的帮助我们检视代码以便更好的遵循代码编写标准,特别适用于小组开发时彼此间的样式规范和统一。

2)Checkstyle提供了高可配置性,以便适用于各种代码规范,所以除了使用它提供的几种常见标准之外,你也可以定制自己的标准。

3)Checkstyle提供了支持大多数常见IDE的插件,大部分插件中就含有最新的Checkstyle,就不用费心再部署一份了。

4)Checkstyle可以检查代码的很多方面,从传统观点看,它主要是用来检查代码层面的,自从第三版以后,它的内部架构作了重大改变,很多其它意图的检测加了进来,现在Checkstyle可以检查像类设计的问题,重复代码,如锁的双重检查的bug模式。

3)CheckStyle的主要流程是:1)对Java文件进行词法语法分析,生成语法树。

2)载入配置文件(checkstyle-metadata.xml以及自定义的配置文件)register check事件。

3)按照深度优先遍历对语法树进行解析,按照注册的事件,在到达某些节点( AST ) 时进行style检查(AST,A child-Sibling Tree,是语法树中的某个节点,其类型在TokenTypes类中定义。

)4)我们所说的自定义Style的检查,就是在第二步设定的。

这里牵涉到一个叫com.puppycrawl.tools.checkstyle.api.Check 的类,我们通常需要重载其中的两个函数:public int[] getDefaultTokens()和public void visitToken(DetailAST ast). 这两个函数的含义为,在遍历语法树的过程中,每当到达getDefaultTokens函数所返回的AST类型,程序就进入visitToken进行具体的检查和分析,即,真正的分析检查过程是在visitToken中实现的。

1. Hammurapi1)定义: Hammurapi它是一个开源的代码审查/评审(review)工具。

它可以帮助改进Java代码的质量。

它可以基于一套设计规范来分析代码库。

当它碰到违反规范的地方,会在报告中标识。

就像Checkstyle一样,它与Ant无缝集成并且由基于XML配置文件来驱动。

2)特点:1)Hammurapi是用来强制代码设计规范的。

2)Hammurapi是一个遵循设计的工具,提供了自动而且一致的方式来实现设计规范,因此使代码评审更加有效而轻松。

3)Hammurapi如何工作:Hammurapi这样的代码分析工具都带有语言分析器。

语言分析器是一种输入语言代码并输出抽象语法树的工具。

这个树上的节点代表语言标识。

例如,考虑一下简单的算术表达式:3+4. 语言分析器会解析他成为一个如图5所示的语法树。

在这个树中,节点+代表操作符标识。

节点3和4是操作数标识Hammurapi使用ANTLR(另一个语言识别工具)作为语言分析器。

然而ANTLR API是相当底层的。

为改善可用性,Hammurapi使用另一个API,基于ANTLR 的JSEL(Java源程序工程类库),来访问抽象语法树。

一旦树构建完成,一种树遍历算法就被用来访问树中每一个节点。

每次访问到一个节点,一种回调机制(Visitor模式)被用来提示相应的检查器。

在这些回调方法中,检查器收集相关的信息来确定是否有违反规范的地方存在。

1. Lint4j1)定义:Lint4J是一个针对Java的源代码分析工具,它可以对Java源码和字节码进行静态分析,判断其中是否存在死锁、性能问题或者伸缩性问题。

它可以集成到任何IDE种或构建系统2)特点:1)检测代码语法规则2)潜在的bug3)检测编码模式对代码可读性及大小的影响4)检测是否违反EJB规范1. Sonar1)定义:代码质量管理工具Sonar提供了设计与架构度量。

Sonar 2.0引入了针对Java应用的设计分析、架构与面向对象的度量,Sonar 2.1可以检测到未使用的方法以及对不建议使用方法的调用。

是一个集成了CheckStyle,PMD,Findbugs的代码校验规则 ,重复代码发现,代码测试覆盖率,代码注释率,及所有的检测率变化追踪的完美代码质量检查工具。

它包含了代码质量检测的七个方面,如下图2)特点:1)代码覆盖:通过单元测试,将会显示哪行代码被选中。

2)改善编码规则。

3)搜寻编码规则:按照名字,插件,激活级别和类别进行查询。

4)项目搜寻:按照项目的名字进行查询。

5)对比数据:比较同一张表中的任何测量的趋势。

6)单元测试3)Sonar2.1:Sonar还基于Squid引入了一个全新的规则引擎、Sonar解析器既可以处理源代码,也可以处理字节码,解析器带有内建的规则,可以检测未使用的私有与保护方法以及客户端对不建议使用的方法的调用。

Squid通过分析应用源代码、Java API和外部程序库的字节码来决定哪些方法、类和属性是不建议使用的。

Sonar 2.1的新特性:1)一个全新的“Libraries”页面,显示了项目中所有的程序库和依赖,该特性要求使用Maven来构建项目。

一旦在Sonar站点的主页上选择了一个项目,该服务就会以可视化的树形结构展示出项目依赖。

此外,还有一个可选的动态过滤器,可以根据名称过滤程序库以便在应用的依赖间导航。

2)用于搜索程序库使用情况的“Dependencies”页面。

比如说,可以搜索到使用了第三方框架如Commons Logging 1.1的所有项目。

3)可以使用各种插件扩展Sonar的功能。

现在有一个全新的“System Info”页面显示了系统属性、已装插件和Java虚拟机内存统计信息。

相关文档
最新文档