类别档案:SonARQUBE - PL / SQL
使用SonarQube进行PL / SQL分析 - 评估质量(3/3)
发表评论
PLSQL_TechnicalDebtLast在我们的系列文章中分析了使用SonarQube的PL / SQL代码的质量。
评估应用程序的质量不只是进行代码分析:任何人都可以做到这一点。质量顾问的工作是基于以下问题:什么,为什么,如何,多少。
什么:分析结果。大小,复杂性和重复性,这是我们以前的帖子中看到的。我们检查总体数字,还有平均和差异,以及有多个版本的时间趋势。那么我们来看看主要违反jia做法的行为,主要侧重于阻止和批评。
为什么这些结果:调查分析措施的原因,寻找结果的起源。
如何补救:提出行动计划。其实,提出几个建议。我们将在下面看到,我提出了短期,中期和长期的不同计划。
花费多少:评估每个计划的成本。继续阅读→
此条目发布于2014年3月10日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
SonarSource结论: 在生活中不断发展和提高代码质量
周期
现在, 软件比以往任何时候都更能推动竞争优势和企业成功。作为
公司越来越需要提高质量和不良的后果的方法
软件开发是可见的, 可以对创收产生严重的损害, 并
客户和前景的参与, 我们认为迫切需要改善的行为
关于代码质量。正如 "未经检验的生活不值得生活" 一样, 未经检验的代码
不值得部署。无论是公司还是客户和前景,中国sonarqube安装配置, 他们正在寻求
参与能够继续采取无效的质量方针。
连续代码检查具有自定义规则的能力, 可以提供一个好的工具来
赋予工程经理诊断指标的能力 (并以审慎、谨慎的用法,
结果度量)。对正在发生的事情的可见性是冷静的, 有助于使
行为更改有助于提高开发团队的质量, 将更高
更好的卫生责任。
一个单一的门户, 如提供的 SonarSource 与 SonarQube-与能力
自动化数据收集-不仅是质量本身, 而是关于启用更
测试.代码质量的可见性为有效决策提供了基础。产品如
这可以帮助组织通过单个集线器来检查和理解软件开发, 以
开始将软件开发作为一个业务来管理。
许多组织已经变得太接受劣质软件开发, 并且容易
-或勉强-同意交付的软件产品, 是晚, 超过预算, 并盛行
缺陷.如果使用得当, 自动化的代码分析工具可以启用一个起点来处理
软件开发作为一个真正的业务。好处可以包括更多的产品发布
稳定并增强对开发团队和合作伙伴服务组织的信任和信任
(对于那些外包开发)。
我们的结论是, 重要的是要强调, 虽然这些类型的产品可以帮助
衡量软件项目的质量他们不应该被当作 "责备工具"。指的
手指不会导致有效的团队协作和更好的执行。质量的重点
衡量标准必须是提高代码质量, 以推动积极的行动, 以改善整个团队
协作和软件开发, 以改善整体的公司执行。它
是整个团队的责任, 以检测和纠正代码质量问题, 就像它是
当软件成功并推动业务时, 团队的利益和组织的利益
创新, 执行力强。
简而言之, 代码分析产品可以帮助组织分析有关代码的情况
发展, 采取行动, 并量化改进。IDC 建议评估和采用
这些类型的自动化方法以及组织和过程的变化
必要的, 以使有效的采用和改进的软件质量战略。
SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,江苏sonarqube安装配置,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
lt;建立gt; lt;插件gt;
...
lt;插件gt;
lt;的groupIdgt; org.apache.maven.plugins lt;/的groupIdgt;
lt;artifactId的gt;行家-万无一失-插件lt;/ artifactId的gt;
lt;版本gt; 2.13 lt;/版本gt;
lt;结构gt;
lt;argLinegt; -XX:-UseSplitVerifier lt;/ argLinegt;
lt;包含gt;
lt;包括gt; ** / * Test.java lt;/包括gt;
lt;包括gt; ** / * Tests.java lt;/包括gt;
lt;/包括gt;
lt;排除gt;
lt;排除gt; ** /它/ * IT.java lt;/排除gt;
lt;/排除gt;
lt;/配置gt;
lt;/插件gt;
...
lt;/插件gt; lt;/建造gt;
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或Toplink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,代理商sonarqube安装配置,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,代理商sonarqube安装配置,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
lt;轮廓gt;
lt;! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
lt;IDgt;覆盖每次测试lt;/ IDgt;
lt;建立gt;
lt;插件gt;
lt;插件gt;
lt;的groupIdgt; org.apache.maven.plugins lt;/的groupIdgt;
lt;artifactId的gt;行家-万无一失-插件lt;/ artifactId的gt;
lt;版本gt; 2.13 lt;/版本gt;
lt;结构gt;
lt;! - 与常规测试执行目标相同的配置 - gt;
由JaCoCo prepare-agent - gt;配置的lt;! - 加argLine参数
lt;argLinegt; $ {argLine} -XX:-UseSplitVerifier lt;/ argLinegt;
lt;包含gt;
lt;包括gt; ** / * Test.java lt;/包括gt;
lt;包括gt; ** / * Tests.java lt;/包括gt;
lt;/包括gt;
lt;排除gt;
lt;排除gt; ** /它/ * IT.java lt;/排除gt;
lt;/排除gt;
lt;! - 每个测试覆盖所需的新配置 - gt;
lt;性能gt;
lt;属性gt;
lt;名称gt;听者lt;/名称gt;
lt;值gt; org.sonar.java.jacoco.JUnitListener lt;/值gt;
lt;/属性gt;
lt;/属性gt;
lt;/配置gt;
lt;/插件gt;
lt;/插件gt;
lt;/建造gt;
lt;依赖性gt;
lt;依赖性gt;
lt;的groupIdgt; org.codehaus.sonar-plugins.java lt;/的groupIdgt;
lt;artifactId的gt;声纳-jacoco-听众lt;/ artifactId的gt;
lt;版本gt; 2.3 lt;/版本gt;
lt;范围gt;测试lt;/范围gt;
lt;/依赖性gt;
lt;/依赖gt;
lt;/简档gt;
江苏sonarqube安装配置-华克斯(推荐商家)由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司坚持“以人为本”的企业理念,拥有一支高素质的员工队伍,力求提供更好的产品和服务回馈社会,并欢迎广大新老客户光临惠顾,真诚合作、共创美好未来。华克斯——您可信赖的朋友,公司地址:苏州工业园区新平街388号,联系人:华克斯。