中国sonarqube价格-华克斯(推荐商家)

SonarSource

通过上述命令成功分析项目将导致以下输出到控制台或日志文件:


SonarQube Runner 2.3

Java 1.7.0_25 Oracle Corporation(64位)

Mac OS X 10.8.5 x86_64

INFO:Runner配置文件:/opt/sonar-runner-2.3/conf/sonar-perties

信息:项目配置文件:/Users/manisarkar/bn_projects/TimelineJS/sonar-perties

INFO:默认语言环境:“en_US”,源代码编码:“UTF-8”

信息:工作目录:/Users/manisarkar/bn_projects/TimelineJS/.sonar

信息:SonarQube服务器3.7

14:11:20.927 INFO - 加载批量设置

14:11:38.290 INFO - ANALYSIS SUCCESSFUL,你可以浏览http:// localhost:9000 / dashboard / index / TimelineJS

14:11:38.292 INFO - 执行工作后类portJob

14:11:38.293 INFO - 执行岗位职责类re.ndIssueNotificatiPo的sdtJob

14:11:38.314 INFO - 执行工作后类re.dexProjectPo的stJob

14:11:38.356 INFO - 执行工作后类ugins.jectPurgePo的stJob

14:11:38.365 INFO - - >在2013-08-19和2013-09-15之间每天保留一张快照

14:11:38.365 INFO - - >在2012-09-17和2013-08-19之间每周保留一个快照

14:11:38.365 INFO - - >在2008-09-22和2012-09-17之间每月保留一个快照

14:11:38.365 INFO - - >删除之前的数据:2008-09-22

14:11:38.368 INFO - - > Clean TimelineJS [id = 151]

14:11:38.372信息 - 信息:----------------------------------------- -------------------------------

信息:执行成功

信息:------------------------------------------------ ------------------------

总时间:19.099s

终内存:14M / 502M

信息:------------------------------------------------ ------------------------

以下是几个链接,以示例sonar-perties文件来帮助创建新的,即非Maven Java项目的Sonar设置[05]和SonarQube Runner [06]分析。

注意:SonarQube Runner希望SonarQube在指ding端口上运行,否则会抛出错误,例如ERROR:Sonar server http:// localhost:9000无法访问。这当然可以通过配置文件进行更改(参见上一篇文章[01])。

SonarQube组件

一旦构建完成并成功,可以在仪表板中找到新的或更新的项目。钻入项目将带来一个屏幕,载入重要指标和分析项目的各个方面:

(以上是示例应用程序的屏幕截图)

令人感兴趣的主要重要组成部分是质量指标,复杂因素,复杂性(左下),测试覆盖率指标(单位测试覆盖率和单位测试成功率)。可能安全违规。 Package Tangle Index and Dependencies to cut,绝dui是方便的,以保持清洁的包和松散耦合的依赖关系。同样的说法,LCOM4(方法中缺少凝聚力 - 降值越好),复杂性也揭示了你的类,方法和功能的松散耦合 - 它也是在文件级别和整体级别给出全图。所有这些组件都是软件质量的良好指标,至少如果不是软件工艺 - 底层代码写在质量上有多好?或者它可以被看作是 - 仍然是充足的改进和重构的房间。

热点视图现在进一步分析了分析的其他一些重要方面,并突出显示需要更多关注的领域或者一个更多的问题在其顶点附近 - 要么超越da允许限制,要么需要更多的抛光才能满足要求。

(以上是在网站上发布的JDK7的截图)

我非常喜欢下面的设计组件,它可以很好地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,通常可能会阻碍模块化。








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收集整合测试覆盖率指标,代理商sonarqube价格,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。

档案部分

所有必需的更改都在本节中。而且它们都非常干净,sonarqube价格,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,中国sonarqube价格,我们将在此保持与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中的旧版代码违规

一旦您设置了所有组件,您现在可以使用jsawk为所有现有的违规创建排除模式:

curl -XGET'http:// localhost:9000 / api / violation?depth = -1'| ./jsawk -a'return in(“﹨ n”)''return source.key.split(“:”)[1] +“; *; [”+ ne +“]”' |排序| uniq的

这将显示一个可以粘贴在“关闭违规”插件的文本区域中或将其作为文件签入存储库的列表。随着下一个分析过程,您将希望看到零违规。当有人通过插入一行更改文件时,会再次显示违规行为,并且应该被修改。不幸的是,一些违规行为不是基于行的,并会产生一个行号'undefined'。目前我刚刚删除了这些手动,所以你仍然可能会看到一些违规。

结论

我提出了一种方法来将您的旧版代码重置为零违例。使用SonarQube 4.0,“切换违规关闭”插件的功能将在内核中使用,因此将更容易使用。我仍然在寻找保持排除模式xin的jia方式。一旦有人必须修复现有文件的违规行为,则应删除该模式。

更新09.01.2014

从SonarQube 4开始,这种方法不再工作了。 SwitchOffViolati插件的一些功能已被移动到,但是排除违反行为是不可能的,也不会实现。开发商建议仅查看项目的趋势,而不是总体违规数量。这可以很好地使用差分。



中国sonarqube价格-华克斯(推荐商家)由苏州华克斯信息科技有限公司提供。行路致远,砥砺前行。苏州华克斯信息科技有限公司致力成为与您共赢、共生、共同前行的战略伙伴,更矢志成为行业软件具有竞争力的企业,与您一起飞跃,共同成功!

苏州华克斯信息科技有限公司
姓名: 华克斯 先生
手机: 13862561363
业务 QQ: 3521016152
公司地址: 苏州工业园区新平街388号
电话: 0512-62382981
传真: 0512-62382981