SonarSource简介
连续的代码质量变得容易。连续检查
SonarQube 支持持续的检验实践。在构建 SonarQube 平台的时候, 我们从一开始就一直在考虑不断的检查。因此, 它带有一切必要的支持实践, 如质量门, 泄漏管理, 治理功能, 一个简短的反馈循环等。连续检查质量门质量门
SonarQube 为应用程序升级提供了 go/无 go 门。质量门是一个主要的, 现成的 SonarQube 功能。它提供了在每个分析中了解应用程序是否通过或失败发布条件的能力。换句话说, 它告诉您在每个分析应用程序是否准备好生产 "上"。多个语言
我们的解决方案涵盖20多种编程语言。通过提供对多种语言 (包括 Java、c#、c/c++、PL/SQL、Javascript 和 COBOL) 的支持, SonarQube 提供了一个涵盖大量应用程序的独特解决方案。阅读更多多语种插件库图书馆的插件
SonarQube 的经验可以通过插件来扩充。超过60社区和商业插件可用于 SonarQube, 使您可以轻松地使用额外的语言、度量和页面来增强您的体验。还可以开发插件以满足组织内的特定需要。连续代码质量在线
SonarQube 也可以在线上 SonarCloud。受益于在云中所列的一切。随着 SonarCloud, 你将开始迅速提高你的公共和私人项目的质量。
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。
SonarQube 使软件质量成为 Agirc 和 Arrco 软件开发过程中的一个集成组件。Agirc & Arrco 是一家法国公司, 负责管理超过2200万员工的补充养老金, 并在广泛的行业、农业和商业领域担任高管。计算和计算这许多客户的养老金应该是昂贵的, 如果不是灾难性的, 如果做错了。Agirc 和 Arrco 真的需要的软件, 以确保其业务运作顺利运行, 其养老金得到正确和及时的评估。此外, 具有优异的软件质量意味着更少的时间用于 bug 修复和提高开发新项目的效率。手动代码检查! = 软件质量
早在 2008年, Agirc 和 Arrco 就意识到需要改进它的应用, 才能取得进展, 但它的编码团队根本不知道如何去做。质量过程于针对已知 bug 对小块应用程序进行手动代码检查。作为一个短期的结果, 这些 bug 是固定的, 但进程留下的核心, 根本问题未触及。在软件质量过程的这个阶段, Agirc 和 Arrco 面临着许多组织共有的三关键挑战:无法识别起始点, 并确定工作的优先级。团队不知道在哪里开始改进, 或者快速获胜的地方--如果他们还存在的话。无法看到需要多少改进, 并估计将质量提高到可接受水平的努力。无法阻止新创建的应用程序重新引入在现有应用程序中纠正的相同质量问题;再犯同样的错误。SonARQUBE 使代码的改进变得清晰和简单
在2008年秋季, Agirc 和 Arrco 用 maven 2 取代了它的 maven 1 构建过程, 并且作为这个过程的一部分, 评估了几个解决方案来支持不断改进的软件质量。经过大量研究, SonarQube 被选为在整个组织中管理软件质量的集中解决方案。"首先 SonarQube 是一个简单的, 当你开始使用它: 不需要庞大的配置" bastien Touzet, 应用建筑师在 Agirc Arrco。Touzet 还赞赏 SonarQube 融入开发环境的事实。"我们重要的特征之一是通过 SonarQube 插件进行 Eclipse 集成: 现在, 我们的开发人员可以看到并改进他们的代码, 而不必在多个工具之间切换"。在实施了 SQALE 插件的技术债务评估, Touzet 说, 团队受益于对软件质量的关键措施的客观衡量标准, 以及如何解决问题的迹象。SonarQube 的简单和 user-friendliness 鼓励组织中的每个人都参与进来, 密切关注 Agirc 和 Arrco 的软件质量, 并采取具体的行动来改进它。例如, 在近的绩效改善项目中, 一家专门的审计公司参与审查公司的 COBOL 批处理程序。然后, 团队利用 SonarQube 的易扩展性, 根据审计结果开发新的 SonarQube 规则。现在, 整个开发团队能够遵循这些编码标准, 避免在其应用程序中引入新的性能问题。新的开发人员立即知道如何确保批处理程序的效率, 避免引入新的问题。从改进代码中获得的优势
长期以来, Agirc 和 Arrco 都低估了代码质量改进的必要性。有一种模糊的理解认为需要改进, 但由于缺乏对问题的了解, 任何人都无法理解其范围或重要性。在 2008年, SonarQube 首先提供了这种可见性, 现在它使软件质量成为软件开发过程中的一个不可分割的组成部分。今天, SonarQube 每天运行, 从50项目中分析超过240万行代码。整个组织参与并参与了嵌入式质量过程, 逐步提高了现有软件的质量, 避免了新开发应用中的质量缺陷。公司及其200强的开发团队专注于长期的、value-added 的活动, 而不是在救火模式下的短期手动 bug 修复。对 Agirc 和 Arrco 的业务影响是难以夸大的: 更好的软件大大降低了错养老金的风险, 并使公司能够灵活地将其软件迅速适应外部环境的变化。
SonarSource
如果您想知道项目使用的内部或外部库,则可能需要查看项目的内容,包括pom.xml文件。如果您使用SonarQube,则不再是这种情况,因为库是一种组件,它会招募您的应用程序所依赖的组件,并且比手动搜索更可靠。
(以上是示例应用程序的截图)
也可以在任何仪表板上添加任何Widget(Widget是组成仪表板的组件),如下所示。
(以上是示例应用程序的截图)
问题向下钻
只是被告知某事是错误的,这里的分数是多少错误或不正确的东西,没有帮助。一个更有建设性的反馈是,这里有什么问题,这是你可以做些什么来解决它。
问题钻取是一个这样的仪表板,我们可以找到这样的信息或足以知道什么是错误,以及如何去修复它(有时)。它还存档较旧的和封闭的问题,并通过给出各种严重程度来表明问题是多么糟糕,即阻止信息。
(以上是上的示例应用程序的截图)
任何Dashboard页面右上角的“管理信息中心”选项(如下)用于创建可以放置小部件的新的信息中心页面。
同样,每个“仪表板”页面上的“配置”窗口小部件链接允许在“仪表板”页面的任何位置添加,删除或更改窗口小部件的位置。
(以上是Apache Commons Collection的截图)
标签或词云是一种非常受欢迎的概念,被大量用作可视化形式来传达指标 - 如上所示,这是Apache Commons Collection库的一个例证。
商业组件 - SQALE
SQALE是一个专有组件,社区版本不可用,尽管SonarQube的Nemo项目[07]提供了演示版本。 SQALE是一项技术债wu评估工具,更多细节可以在[08]找到。