SonarSource简介
构建更好的软件的独特方法。通过在整个软件开发生命周期中支持代码质量, 帮助您的开发团队从创新的概念中受益, 同时将时间和精力集中在新功能上。的水泄漏范例
我们建议的代码质量的方法是什么?把它当作漏水的东西, 在你拖地板之前把漏水的东西修好!为什么?否则你只是在浪费你的时间和精力。对于代码质量, 同样的逻辑适用;在任何其他情况下, 您都应该在控制下获得新更改和添加代码的质量。一旦该漏洞得到控制, 代码质量将开始系统地改善。阅读更多漏水范例领yang授权收养和赋予
代码质量应该是每个开发人员的关注点, 而不仅仅是少数专家。一旦您切换到一个漏水的方法, 即新的代码是唯yi的焦点的方法, 开发人员将变得非常感兴趣的主题, 因为 "代码质量" 意味着他们的代码质量。如果您添加的能力是在一个非常短的反馈循环, 你得到的控制反转: 开发人员不仅解决问题, 但在其组织的代码质量的所有权, 因为它应该是在任何地方的情况。统一质量门
除非您在发布时强制执行质量门, 否则您没有到位的代码质量实践。质量门是在进入生产前经过验证的标准列表, 以确保应用程序符合质量要求。换言之, 这是内部质量的去/不去。采用漏水方法, 您可以为每个应用程序强制使用相同的质量闸门, 因为焦点将从应用程序中的遗留代码转移到新的或更新的内容。这使得代码质量成为开发过程的一个组成部分。促进代码管理应用程序组合 (APM)应用程序投资组合管理
泄漏范例创造了一个良性循环来提高代码质量, 但不处理风险。管理者应该能够对其投资组合中的现有风险做出决策。例如, 敏感的应用程序可能需要额外的精力来解决安全问题。这就是为什么, 他们需要有一个代表他们的应用程序组合装饰与相关的健康/风险因素。
SonarSource不断的检查, 新的软件质量范例, 解决和解决的关键挑战
在代码质量管理中:
太少, 太迟
推回
开发团队
缺乏过程
所有权
异构
要求
团队收到关于质量的持续反馈, 包括对一组
质量要求
一个清晰的, 更新的质量演变的图片随时可用, 包括
版本间的比较
团队可以从介绍中跟踪问题, 并提供反馈
一旦出现质量缺陷, 就会通知风险承担者
质量门每天执行
后的质量门迭代成为一个事件
开发商的持续教育导致良性循环的改善
质量行动计划直接在团队内部生成, 并集成在
开发过程
软件质量是开发过程的一部分
评论包括背景和历史信息, 包括不同
版本和对软件所做的各种更改
利益干系人可以访问有关其软件质量的有意义的信息
实时
开发团队一旦收到质量缺陷的信息
添加 (通过电子邮件, 在 IDE 中可见,...) 使问题立即得到解决
团队获得开发更好软件的能力
代码质量的归属属于开发团队
软件质量被嵌入到开发过程中, 成为
每个人的责任
整个组织都可以访问软件质量工具, 以
每个利益相关者
质量要求可以在团队中的共享、更新和评审
成员和整个组织
质量判断是以自动化的方式在客观的基础上做出的
事先发布到组织的标准。
报告清楚地显示了软件的可维护性, 并立即
不需要外部顾问就可以理解
开发人员的持续教育导致显著的软件质量
从长远来看改善
团队有能力测量新的和更改的软件质量
代码以及整个代码库
团队可以跟踪新问题的注入
SonarQube - 的PL / SQL分析
发表评论
PLSQL_Majors我们继续本系列分析PL / SQL代码与今天的主要规则。
我们以前看过如何组织我们的环境,并配置我们的代码分析与Jenkins和SonarQube。
我们创建了自己的质量简介,并审查了所有面向可靠性和安全性的阻止程序和关键。继续阅读→
此条目发布于2014年1月21日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
使用SonarQube进行PL / SQL分析 - 关键
发表评论
PLSQL_Critical在本系列上一篇关于使用SonarQube分析PL / SQL代码的文章中,我们回顾了我们的质量配置文件中现有的阻止程序规则。
我们发现三个违反PL / SQL编程的jia实践,其后果如此重要,不允许容忍。因此,这证明了他们“阻挡者”的地位。
我们还发现这三个规则共有18个缺陷,所以我们假设这个规则是项目团队所知道的。
后,这些缺陷导致了应用程序中的逻辑错误 - 这是一个永远不会执行的操作,因为相应的条件将永远不会被满足 - 甚至可能的崩溃。继续阅读→
此条目发布于2014年1月11日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
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中国总代理的华克斯于2024/7/19 6:36:31发布
转载请注明来源:http://m.tz1288.com/qynews/hksxxkj-2787975425.html
上一条:结构加固施工承诺守信「多图」