华克斯(多图)-SonarQube 分销商
作者:华克斯2019/11/29 4:27:36

SonarSource结论

由 SonarSource 设计和实现, 内部质量连续检测是一个整体,完全实现的过程, 旨在使代码质量成为软件开发生命的一个组成部分循环并提高其在整个生命周期中的所有利益干系人的可见性。连续检查范例是非常有效的,SonarQube 试用, 并已被证明是在现实世界中工作, 在所有行业从 one-man 商店到财富100强企业不等的***。连续检测是一种新的软件质量模型, 它包含较短的反馈回路确保快速解决质量问题。简而言之, 它是一个从一开始就建立质量的模型,而不是事后考虑。随着持续的检查, 发现质量缺陷-和纠正--在开发过程的早期, 影响很小而且易于管理。一些问题将在开发人员的 IDE 中被的捕获, 然后再进行签入。其余的将被报告在一天内, 虽然代码仍然是新的开发人员的头脑和修复仍然便宜和容易。这快速反馈周期具有提高质量和教育开发者的双重效益。连续检查很好地适应了敏捷和瀑布开发环境, 并解决了传统方法的缺点。持续的检查提供了改进的质量对开发过程和时间线的***xiao中断。持续的检查促进了团队协作和生产力的增强, 并产生了强大团队对代码质量的归属感, 因为质量过程与代码本身一样, 是由团队。在那里, 准时的审计被嘲笑为迅速过时, 并忽略增量软件开发的性质, 连续检查提供了一个即时性和清晰的图片软件质量随时间推移。随着持续的检查, 质量的感知成本是零, 因为质量是混合无缝地进入开发过程本身。经过不断的检验, 企业终于可以接受代码质量 whole-heartedly, 并***da化其软件 ROI。








SonarSource

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


SonarQube Runner 2.3

J***a 1.7.0_25 Or***e 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 - ANALYSIS 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.SendIssueNotificati***Po的sdtJob

14:11:38.314 INFO - 执行工作后类org.sonar.plugins.core.batch.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文件来帮助创建新的,即非M***en J***a项目的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允许限制,要么需要更多的抛光才能满足要求。

(以上是在nemo.sonarqube.org网站上发布的JDK7的截图)

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



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解释器。你必须自己编译,而且我必须使用一个特定的版本。叹了口气)。



华克斯(多图)-SonarQube 分销商由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司(www.sinocax.com)位于苏州工业园区新平街388号。在市场经济的浪潮中拼博和发展,目前华克斯在行业专用软件中拥有较高的知名度,享有良好的声誉。华克斯取得全网商盟认证,标志着我们的服务和管理水平达到了一个新的高度。华克斯全体员工愿与各界有识之士共同发展,共创美好未来。

商户名称:苏州华克斯信息科技有限公司

版权所有©2025 产品网