sonarqube中的旧版代码
虽然我不相信将数字放在源代码上,sonarqube(以前称为sonar)在开发过程中可能是一个非常有用的工具。它对您的团队执行一致的风格,已经发现了几个可能的错误,并且是一个---的工具:您可以浏览---行为,看看为什么某个表达式或代码块可能是一个问题。
为了---您的代码库保持一致状态,您还可以直接执行代码检入的任何---行为。其中一个问题是很多项目不是绿色项目你有很多现有的代码。如果您的---号码已经---,很难判断是否引入了新的---行为。
在这篇文章中,我将向您展示如何从现有代码的零违反行为开始,而不用触摸来源,jens schauder在他的---演讲中使用legacy teams的灵感来启发它。我们将根据文件中的行忽略所有---行为,因此如果有人触及该---行为将再次显示的文件,开发人员将负责修复旧版---行为。
关闭---插件
我们正在使用sonarqube的关闭---插件。可以为问题配置不同的排除模式。您可以为代码块定义正则表达式,这些代码块应该被忽略,或者在所有文件或行基础上停用---。
对于现有代码,您想忽略某些文件和行的所有---。这可以通过在文本区域中插入这样的方式来完成排除模式:
de.fhopf.a的kka.actor.indexingactor; pmd:signaturedeclarethrowsexception; [23]
这将排除在indexingactor类的第23行中抛出原始异常的---。再次分析代码时,这种---将被忽略。
通过api检索---
除了漂亮的仪表板之外,sonarqube还提供了一个可用于检索项目---的api。如果您不希望查找代码库中的所有现有---行为,并手动插入,您可以使用它自动生成排除模式。所有这些---都可以在/ api /---找到,例如http://本地主机:9000 / api /违例。
我确定还有其他方法可以做,但是我使用jsawk来解析json响应(在ubuntu上,你必须安装spidermonkey而不是默认的js解释器。你必须自己编译,而且我必须使用一个特定的版本。叹了口气)。
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-runner.properties
信息:项目配置文件:/users/manisarkar/bn_projects/timelinejs/sonar-project.properties
info:默认语言环境:“en_us”,源代码编码:“utf-8”
信息:工作目录:/users/manisarkar/bn_projects/timelinejs/.sonar
信息:sonarqube服务器3.7
14:11:20.927 info - 加载批量设置
。
。
。
14:11:38.290 info - ---ysis successful,你可以浏览http:// localhost:9000 / dashboard / index / timelinejs
14:11:38.292 info - 执行工作后类org.sonar.issuesreport.reportjob
14:11:38.293 info - 执行岗位职责类org.sonar.plugins.core.issue.notification.sendissuenotificatipo的sdtjob
14:11:38.314 info - 执行工作后类org.sonar.plugins.core.b---h.indexprojectpo的stjob
14:11:38.356 info - 执行工作后类org.sonar.plugins.dbcleaner.projectpurgepo的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-project.properties文件来帮助创建新的,即非maven java项目的sonar设置[05]和sonarqube runner [06]分析。
注意:sonarqube runner希望sonarqube在指ding端口上运行,否则会抛出错误,例如error:sonar server http:// localhost:9000无法访问。这当然可以通过配置文件进行更改(参见上一篇文章[01])。
sonarqube组件
一旦构建完成并成功,可以在仪表板中找到新的或更新的项目。钻入项目将带来一个屏幕,载入重要指标和分析项目的各个方面:
(以上是示例应用程序的屏幕截图)
令人感兴趣的主要重要组成部分是指标,sonarqube安装配置,复杂因素,复杂性(左下),测试覆盖率指标(单位测试覆盖率和单位测试成功率)。可能安全---。 package tangle index&dependencies to cut,绝dui是方便的,以保持清洁的包和松散耦合的依赖关系。同样的说法,lcom4(方法中缺少凝聚力 - 降值越好),复杂性也揭示了你的类,方法和功能的松散耦合 - 它也是在文件级别和整体级别给出全图。所有这些组件都是软件的---指标,至少如果不是软件工艺 - 底层代码写在上有多好?或者它可以被看作是 - 仍然是充足的改进和重构的房间。
---视图现在进一步分析了分析的其他一些重要方面,并---显示需要更多关注的领域或者一个更多的问题在其顶点附近 - 要么---da允许---,要么需要更多的抛光才能满足要求。
(以上是在nemo.sonarqube.org网站上发布的jdk7的截图)
我非常喜欢下面的设计组件,它可以---地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,sonarqube安装配置,通常可能会阻碍模块化。
sonarqube和jacoco的个人测试代码覆盖率
本文介绍了如何使sonarqube收集单个测试的测试代码覆盖率指标。代码覆盖工具通常产生一个报告,显示在给定测试会话期间执行的所有测试的组合效果的代码覆盖率(按行,分支等)。例如,当您在持续集成中运行单元测试时就是这种情况。在sonarqube和jacoco的帮助下,可以在单个测---例级别(junit或testng中的测试方法)中收集覆盖度量。为了实现这一点,我们在这篇文章中显示了一些特殊的配置。
环境
以下过程已经使用sonarqube 4.1.2和4.3.2版本进行了验证,但它也适用于sonarqube 3.7.x(xin的lts版本)。我们用于验证设置的应用程序代码是熟悉的spring pet clinic应用程序,sonarqube安装配置,增强功能可支持tomcat 7和spring 3(请参阅此篇文章,sonarqube安装配置,以了解有关宠物诊suo需要更新的信息:https://deors.wordpress.com/ 2012/09/06 / petclinic-tomcat-7 /)该代码可以从存储库中的github:https://github.com/deors/deors.demos.petclinic
说明
一旦你知道如何连接所有的点,这些说明很简单。所有这些都是为maven surefire插件添加一些特定的配置(surefire是插件,它是单元测试执行的任务,它支持junit和testng)。由于此具体配置不应影响常规单元测试执行,因此建议将所需配置包含在单独的配置文件中,仅在执行sonarqube分析时执行。我们一起来描述pom.xml文件中所需的更改。
sonarqube安装配置-华克斯由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司实力---,信誉---,在江苏 苏州 的行业软件等行业积累了大批忠诚的客户。华克斯带着精益---的工作态度和不断的完善---理念和您携手步入,共创美好未来!
联系我们时请一定说明是在100招商网上看到的此信息,谢谢!
本文链接:https://tztz192713a2.zhaoshang100.com/zhaoshang/276886079.html
关键词: