SonarSource简介
连续的代码质量变得容易。连续检查
SonarQube 支持持续的检验实践。在构建 SonarQube 平台的时候, 我们从一开始就一直在考虑不断的检查。因此, 它带有一切必要的支持实践, 如质量门, 泄漏管理, 治理功能, 一个简短的反馈循环等。连续检查质量门质量门
SonarQube 为应用程序升级提供了 go/无 go 门。质量门是一个主要的, 现成的 SonarQube 功能。它提供了在每个分析中了解应用程序是否通过或失败发布条件的能力。换句话说, 它告诉您在每个分析应用程序是否准备好生产 "上"。多个语言
我们的解决方案涵盖20多种编程语言。通过提供对多种语言 (包括 Java、c#、c/c++、PL/SQL、JavaScript 和 COBOL) 的支持, SonarQube 提供了一个涵盖大量应用程序的独特解决方案。阅读更多多语种插件库图书馆的插件
SonarQube 的经验可以通过插件来扩充。超过60社区和商业插件可用于 SonarQube, 使您可以轻松地使用额外的语言、度量和页面来增强您的体验。还可以开发插件以满足组织内的特定需要。连续代码质量在线
SonarQube 也可以在线上 SonarCloud。受益于在云中所列的一切。随着 SonarCloud, 你将开始迅速提高你的公共和私人项目的质量。








SonarSource连续检查的10原则:
开发过程中的所有利益干系人 (不仅仅是开发人员或经理) 必须具有现成的访问权限到有关软件质量的有意义的数据。
管理软件质量必须是每个人的关注从开始的发展, 但是开发团队的终ji责任。
软件质量必须是开发过程的一部分, 这意味着满足质量标准是一个的硬要求能够声明开发完成。
软件质量要求必须是客观的, 不需要主观的通过/失败的决定。软件质量要求必须尽可能多地与所有软件产品共同, 无论他们的细节。
软件质量数据必须是xin的, 即对代码的近版本进行测量。
软件产品必须不断检查, 以便在容易发现错误时迅速正确.开发人员必须能够发现新的质量缺陷, 一旦他们被引入, 即在IDE 编写代码时, 类似于拼写检查程序突出拼写错误的方式。
无论是通过推还是拉, 在注入新的质量缺陷时, 都必须提醒利益干系人, 无论这是通过发送电子邮件, 打破了构建或其他方法。
必须跟踪新问题的注入,使团队能够快速、明智地决定质量。
软件质量数据必须同时提供绝dui (在所有代码) 和差异 (新的代码)值, 以便开发团队可以完全控制问题的传入流程。
所有新问题和现有关键问题都必须为解决方案指ding明确的路径和时间线。
持续的检验范式是非常有效的, 并已被证明在现实世界中工作从离岸软件工厂到财富100强企业不等。这些公司成功地使用了连续检测模型来管理项目的内部软件质量所有大小。
一个财富100强的公司与超过2万的开发商使用它管理超过6亿行代码, 在每天分析超过5000应用程序的环境中。
在所有情况下, 连续检查帮助这些公司大大提高了软件质量和稳定, 通常节省数百万美元, 否则将花费在根本原因分析和危机管理。








SonarSource
SonarQube是一个开源平台,初于2007年以Sonar的名义推出,近年来成为世界代码质量管理体系的,以其持续的代码质量检测而着称。
它目前支持25种语言,其中一些包括Java,C / C ++,C#,PHP,Flex,Groovy,JavaScript,Python,PL / SQL和COBOL,它也经常被用作Android开发的一部分。
它是有用的,因为它提供全mian的自动化分析工具,并与Maven,Ant,Gradle和其他持续集成工具集成。它报告了重复的代码,编码标准,单元测试,代码覆盖率,复杂代码,潜在的错误,评论和设计和架构。
它可与Java IDE开发环境(如Eclipse,NetBeans和IntelliJ IDEA)集成,并可通过使用插件进行扩展。
下次再检查一下,我将会看看有用的HTML和CSS工具。
您使用什么工具来帮助改进代码,让我们知道!
这篇文章是我们的“Java文章索引”系列的一部分。在这些文章中,我们的目标是探索Java和Javafx的世界。看看吧!
如果您是第yi次读者,或者只是想在发布新文章和更新时收到通知,您可以通过社交媒体(Twitter,Facebook和Google+)或博客RSS保持xin。
相关文章:
宣布JDeli - 一个新的Java图像库
Java PDF播客现在在ITUNES上可用
Java PDF播客1 - 版本5发行版概述
免费PDF指南:系列指数
免费PDF指南更新 - 非技术用户的5个简单步骤中的PDF到HTML5





SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.ugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<argLine> -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
</配置>
</插件>
...
</插件> </建造>
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或TopLink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。后,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
<轮廓>
<! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
<ID>覆盖每次测试</ ID>
<建立>
<插件>
<插件>
<的groupId> org.apache.ugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine参数
<argLine> $ {argLine} -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
<! - 每个测试覆盖所需的新配置 - >
<性能>
<属性>
<名称>听者</名称>
<值> nar.java.jacoco.JUnitListener </值>
</属性>
</属性>
</配置>
</插件>
</插件>
</建造>
<依赖性>
<依赖性>
<的groupId> nar-plugins.java </的groupId>
<artifactId的>声纳-jacoco-听众</ artifactId的>
<版本> 2.3 </版本>
<范围>测试</范围>
</依赖性>
</依赖>
</简档>






以上信息由专业从事代理商sonarqube安装配置的华克斯于2025/9/1 6:39:59发布
转载请注明来源:http://www.zhizhuke.cn/qyzx/hksxxkj-2885380960.html
下一条:没有了

