SonarSource简介
连续的代码质量变得容易。连续检查
SonarQube 支持持续的检验实践。在构建 SonarQube 平台的时候, 我们从一开始就一直在考虑不断的检查。因此, 它带有一切必要的支持实践, 如质量门, 泄漏管理, 治理功能, 一个简短的反馈循环等。连续检查质量门质量门
SonarQube 为应用程序升级提供了 go/无 go 门。质量门是一个主要的, 现成的 SonarQube 功能。它提供了在每个分析中了解应用程序是否通过或失败发布条件的能力。换句话说, 它告诉您在每个分析应用程序是否准备好生产 "上"。多个语言
我们的解决方案涵盖20多种编程语言。通过提供对多种语言 (包括 Java、c#、c/c++、PL/SQL、JavaScript 和 COBOL) 的支持, SonarQube 提供了一个涵盖大量应用程序的***解决方案。阅读更多多语种插件库图书馆的插件
SonarQube 的经验可以通过插件来扩充。超过60社区和商业插件可用于 SonarQube, 使您可以轻松地使用额外的语言、度量和页面来增强您的体验。还可以开发插件以满足组织内的特定需要。连续代码质量在线
SonarQube 也可以在线上 SonarCloud。受益于在云中所列的一切。随着 SonarCloud, 你将开始迅速提高你的公共和私人项目的质量。
SonarSource
实现和好处的典型大小
大型国际组织可以对1万多个项目进行分析, 并
分析650–700万行代码在14种语言与8000访问一天在网站上。
IDC 的一位客户正在跟踪1200项目, 其中有1.6亿行代码
通过 SonarQube 扫描, 再加上另外的300项目, 还有1.6亿行代码
被扫描。
另一位客户从二十几个项目到现在已注册的2230多个项目
用户有更多的匿名浏览仪表板。
为什么 SonarQube?
SonarQube 引用 IDC 的讲话需要一种测量和强制软件的方法
和代码质量指标。一个关键的目标是对代码质量进行量化测量, 并
分析这些指标来制定一套基准测量-主要是利用
鼓励良好做法的平台 (并劝阻坏的行为)。
在评估有竞争力的产品时, 他们寻找的是: 品质特征
分析提供 (如死代码分析、影响分析、跨平台分析);
支持的语言 (SonarSource 支持 20 +);代码评审的灵活性;和仪表板
产品和报告分析。服务组织还评估了基于
商业限制和参与限制。
SonarQube 的优点通常包括其整体易用性, 需要更少的时间来学习
并采取。与 SonarQube 的包装选项也有利于***终用户和
服务提供商-"不附加任何字符串" 的企业许可证是对具有动态分发需求和服务提供者的***终用户的帮助, 提供了能够利用的自由
SonarQube 灵活地作为订婚的一部分。
SonarQube 仍在发展其对影响分析的支持, 但同时一些客户
引用已创建解决此问题的变通方法。
使用 SonarQube 的好处
SonarQube 客户描述的功能在解决其
***问题包括以下几个方面:
?代码和质量的能见度, 可以看到热点是在应用程序中
主动包括应用程序质量 "前端" 作为开发的初始和迭代部分
过程仪表板, 用户可以选择处境和
自定义报告。
?的能力, 以不同的层次整合的指标, 在各不相同的意见-在客户
级别, 在开发人员级别和/或业务单位级别-并将它们上卷成 "一个
真理之源 ";一个单一的门户/单点, 每个人都可以去看看他们
需要知道。
?经理/董事可以自定义和使用 SonarQube 来衡量
各个组-服务提供商可以为每个客户自定义仪表板
组织, 他们正在努力解决不同种类的需求和标准。
它们还可以增强现有规则并集成结果, 因为 SonarQube 给出了
这一水平的灵活性。同时, 组织必须注意不要使用
SonarQube 作为 "棍棒" 迫使 "好行为"-成功的公司有
利用信息鼓励更好的做法, 而不是建立 "墙
羞辱 "惩罚个人不良的编码行为。这意味着使用 SonarQube 作为
"诊断指标" 而不是 "基于结果的" 指标, 可以更好的推动成功。
?总的来说, 这些能力使客户能够管理和减轻技术债务
通过一个 cost-effective 的解决方案, 可以扩展到企业级, 并广泛
分布式.SonarQube 帮助组织对代码质量进行基准测试并了解
他们的组织是如何做, 以及他们如何能够和有改进的时间通过
定性和定量的信息。
SonarQube是一个开源平台,***于2007年以Sonar的名义推出,近年来成为世界代码质量管理体系的***,以其持续的代码质量检测而着称。
它目前支持25种语言,其中一些包括Java,C / C ++,C#,PHP,Flex,Groovy,JavaScript,Python,PL / SQL和COBOL,它也经常被用作Android开发的一部分。
它是有用的,因为它提供全mian的自动化分析工具,并与Maven,Ant,Gradle和其他持续集成工具集成。它报告了重复的代码,编码标准,单元测试,代码覆盖率,复杂代码,潜在的错误,评论和设计和架构。
它可与Java IDE开发环境(如Eclipse,NetBeans和IntelliJ IDEA)集成,并可通过使用插件进行扩展。
下次再检查一下,我将会看看有用的HTML和CSS工具。
您使用什么工具来帮助改进代码,让我们知道!
这篇文章是我们的“Java文章索引”系列的一部分。在这些文章中,我们的目标是探索Java和Javafx的世界。看看吧!
如果您是第yi次读者,或者只是想在发布新文章和更新时收到通知,您可以通过社交媒体(Twitter,Facebook和Google+)或博客RSS保持***xin。
相关文章:
宣布JDeli - 一个新的Java图像库
Java PDF播客现在在ITUNES上可用
Java PDF播客1 - 版本5发行版概述
免费PDF指南:系列指数
免费PDF指南更新 - 非技术用户的5个简单步骤中的PDF到HTML5
通过上述命令成功分析项目将导致以下输出到控制台或日志文件:
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 - 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文件来帮助创建新的,即非Maven Java项目的Sonar设置[05]和SonarQube Runner [06]分析。
注意:SonarQube Runner希望SonarQube在指ding端口上运行,否则会抛出错误,例如ERROR:Sonar server http:// localhost:9000无法访问。这当然可以通过配置文件进行更改(参见上一篇文章[01])。当弗雷迪宣布SonarQube为服务时,群集的隐藏议程变得清晰明了。
SonarQube组件
一旦构建完成并成功,可以在仪表板中找到新的或更新的项目。钻入项目将带来一个屏幕,载入重要指标和分析项目的各个方面:
(以上是示例应用程序的屏幕截图)
令人感兴趣的主要重要组成部分是质量指标,复杂因素,复杂性(左下),测试覆盖率指标(单位测试覆盖率和单位测试成功率)。可能安全违规。 Package Tangle Index and Dependencies to cut,绝dui是方便的,以保持清洁的包和松散耦合的依赖关系。同样的说法,LCOM4(方法中缺少凝聚力 - 降***值越好),复杂性也揭示了你的类,方法和功能的松散耦合 - 它也是在文件级别和整体级别给出全图。虽然SonarQube可以在战shu上用于一次性审计,但它可以更具战略性地利用作为一个共享的,共同的信息来源的质量分析正如刚才所描述的,以帮助支持代码质量的持续改进策略。所有这些组件都是软件质量的良好指标,至少如果不是软件工艺 - 底层代码写在质量上有多好?或者它可以被看作是 - 仍然是充足的改进和重构的房间。
热点视图现在进一步分析了分析的其他一些重要方面,并突出显示需要更多关注的领域或者一个更多的问题在其顶点附近 - 要么超越***da允许限制,要么需要更多的抛光才能满足要求。
(以上是在nemo.sonarqube.org网站上发布的JDK7的截图)
我非常喜欢下面的设计组件,它可以很好地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,通常可能会阻碍模块化。
版权所有©2024 天助网