商盟旺铺
华东中国sonarqube安全审计总代理「华克斯」
来源:2592作者:2022/3/21 3:32:00






SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, ***终开发更好的软件。Silverpeas 已经能够实现新的功能和提高产品性能, 这已导致赢得越来越多的客户。Silverpeas 是协作知识和内容管理的平台。写在爪哇, Silverpeas 出生于 1999年, 在黑暗时代的 J2EE。这是一个时代之前的框架, 当英雄编码没有测试或文件。结果是一个工作产品的支持下的混乱的定制框架, 是基于良好的想法, 但执行不***。它然后介绍了连续检查范式,并说明了它如何解决这些挑战,支持数以千计的企业提高软件质量。随着时间的推移, 由于在产品的早期就做出了短视的设计决策, 而且由于对其***体系结构没有明确的愿景, 因此发展和维护代码变得越来越困难。技术债务 = 责任

这种情况使我们很难跟上创新的步伐, 保持市场的竞争力。使问题复杂化的是, 执行基本维护和实施新功能的高昂成本使得很难获得新客户。技术债务代表了一个太大的负债。够了在 2009年, Silverpeas 团队作出了一个激烈的决定: 现在是时候, 以现代化的架构和提高 Silverpeas 的代码质量。但他们需要确切地知道如何, 什么, 以及在哪里重构之前, 他们可以继续。"我们需要一个工具来支持我们的改变," Silverpeas 软件建筑师米格尔 Moquillon 说。"SonarQube (当时的声纳) 被选中来帮助我们获得正确的***, 这些问题。通过它的质量分析工具和它的统一和可定制的界面, 我们有信息, 以确定我们必须执行的任务, 以减少技术债务和提高代码的质量。SonarQube实质上提供了代码分析器、仪表板、报告工具、问题跟踪和TimeMachine作为***功能,但它也有一个插件机制,使社区能够扩展功能(当前有超过60plug-ins可用)。这是我们的 GPS 在改善 Silverpeas 的道路上。SONARQUBE 保持技术债务控制

Silverpeas 团队在 Silverpeas 的现代化过程中选择了 SonarQube 这一关键角色, 部分原因是它是开源的, 就像 Silverpeas 一样, 易于扩展, 但 SonarQube 也提供了一些功能 Moquillon 说, 团队发现引人注目的:统一和集中的仪表板"一个统一和集中的仪表板, 其中呈现代码的主要质量指标: 一目了然是什么出错了, 什么是改进了, 很容易看到。简单的导航--"一种简单的方法来导航到相关代码的不同指标: 很容易找到需要操作的代码部分."强大的报告-"在时间的指标演变的迹象: 我们可以估计我们的代码改进的努力。IDC的研究显示,在生产后期发现的缺陷成本指数更高对组织修复比在周期中发现的更早(10–100倍或更多,取决于其他依赖项,以及在生命周期中发现问题的后期程度)。更好的软件质量已导致越来越多的客户赢得

SonarSource 的解决方案有助于 Silverpeas 的成功, 通过对关键问题提供持续和快速的反馈以及如何解决它们的建议。工作从坚实基地它的代码质量改进给它, Silverpeas 团队已经能够实现新的功能, 并提高产品的鲁棒性和性能, 这已导致赢得越来越多的客户。今天, Silverpeas 团队致力于将其软件质量保持在 SonarQube 的轨道上。Moqillon 说, Silverpeas 团队对 SonarQube 有信心, 因为 "这是一个开源项目, 如 Silverpeas, 因此, 我们是确保其演变和质量。他赞扬 SonarQube 的定期发布时间表、易用性、易于安装以及与现有开发基础结构 (如连续集成服务器詹金斯) 和构建系统 Maven 等集成的易用性。现在, SonarQube 分析运行每晚 Silverpeas 的35.1万行代码, 由詹金斯触发的后期生成行动。群集是路线图的一个令人惊讶的补充,因为这看起来不像是一种需要支持大量负载的产品。开发人员和经理定期检查结果, 并采取行动解决问题的集体努力, 以维护和进一步提高 Silverpeas 的软件质量。


关闭SonarQube中的旧版代码违规

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

curl -XGET'http:// localhost:9000 / api / violation?行业统计显示,平均而言,软件产品的生命周期成本的80%用于维护,根据内部质量,维护成本有很高的变异性。depth = -1'| ./jsawk -a'return this.join(“\ n”)''return this.resource.key.split(“:”)[1] +“; *; [”+ this.line +“]”' |排序| uniq的

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

结论

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

更新09.01.2014

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



SonarSource设置

在引擎盖下,这个SonarQube实例依赖于如下所示的许多默认或定制配置设置。

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

可以通过该界面访问和更改各个组件的配置设置。

更新中心

到目前为止看到的各种仪表板中的许多小部件可以从下面的页面启用或禁用。还可以对所有小部件进行更新和升级,包括SonarQube本身的更新和升级。

升级过程

查看[10]中的升级过程,另见[11],了解过程之前和之后应该做什么。

通常停止并重新启动SonarQube是在应用更新或升级到一个或多个组件或SonarQube本身之前和之后执行的常见步骤。

在评估这些功能后,它清楚地表明,该产品具有优于其他解决方案的优势,即大量免费插件,基于插件的仪表板系统,除了作为开源项目,还有一个很好的开始用。话虽如此,可能有商业产品有更好的质量评估命题,但不一定有用,除非你是一个大型组织。

使用SonarQube作为创建短反馈循环的工具,并在评估建议的更改的原理后,对代码库进行改进。如果反馈不正确或是假阳性或假阴性 - 一个选项是调整相关组件背后的配置设置,以查看在当前情况下提出的问题是否适用 - 基本上是转动支票或不采取反馈字面上。这意味着水平软件产品的可维护性今天将决定其成本责任的水平明天。



华克斯 (业务联系人)

13862561363

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

版权所有©2024 天助网