代码质量是一个不断增长的市场, 它是分析师对其大规模采用和大量投资回报的雷达。
认知的复杂性提供了一个新的衡量如何硬编码是理解-一个***开发商的直觉正确的。***白皮书本文描述了认知的复杂性, 提出了一种新的度量方法, 以***地测量法的相对理解。在这样做的时候, 它解决了这个领域中圈复杂度的缺点。圈复杂度使用数学模型来评估方法, 对测试所需的工作量进行精que测量, 但不准确地测量需要了解它们的工作量。产品还提供与构建管理的协调(与詹金斯的支持),以帮助实现持续集成的部署。认知的复杂性打破了使用数学模型评估软件可维护性的实践。它从由圈复杂度所设置的先例开始, 但使用人工判断来评估结构应如何计算, 并决定应将哪些内容添加到整个模型中。结果是, 它产生了方法复杂性评分, 使程序员对可维护性的相对评估比以前的模型更公平。
SonarSource关键挑战代码质量管理
按设计, 按规定的时间间隔, 不间断地进行准时审核。这种代码的方法质量管理有四主要类型的缺点, 这将在本节详述。
太少, 太迟准时审计确定了两种改进: 化妆品和结构变化。而外观更改需要稍加修改, 结构更改可能包括主要软件设计.虽然可能需要进行此类更改, 但由准时审核产生的行动计划在过程中定义得太晚, 无法做任何事情, 但会打乱开发周期;无论是软件发布日期需要扩展, 以包括软件重新设计, 或更糟糕的软件将被推送到质量不达标的生产, 因此降低了可维护性和适应性, 当新的业务需求出现。高质量应用的上市时间变得至关重要,但提供软件发布和开发新的面向客户的快速应用是一个越来越大的挑战。
来自开发团队的推回组织内部的质量过程显然缺乏所有权。审计员不能自己的过程, 因为他们既不拥有代码也不控制问题解决。同样,模型的命令和控制特性阻止开发团队拥有过程, 因为它没有参与审查。因此, 您有两个断开的组这些都是质量的责任, 而不是他们的责任。当弗雷迪宣布SonarQube为服务时,群集的隐藏议程变得清晰明了。开发人员倾向于从准时审核中产生的行动计划, 因为他们:√是在团队之外生成的, 在日常工作中被视为一种新的约束√是主观的;调查结果依赖于审计师的判断, 而非客观措施√小姐的背景和历史信息, 因此被视为无关√因正在进行的更改而失效, 并很快变得过时√不要让***和其他利益相关者参与审核和审核过程√介入的过程太晚;在审核功能时, 开发人员需要 "重新学习"用于解决查找的代码
缺少过程所有权
组织内部的质量过程显然缺乏所有权。审计员不能自己的过程, 因为他们既不拥有代码也不控制问题解决。同样,模型的命令和控制特性阻止开发团队拥有过程, 因为它没有参与审查。因此, 您有两个断开的组这些都是质量的责任, 而不是他们的责任。
异构需求衡量软件绝dui价值的传统方法, 如问题总数在质量门中发现, 强制评估人员对不同的应用程序进行测量要求取决于其来源。例如, 遗留项目可能不会保持在相同的高度一个绿地项目的质量标准, 和 in-house 的发展可能被判断不同于外包代码。这是由于您仍然需要允许软件运送到生产, 并要求每个项目达到相同的绝dui价值的质量阈值之前释放通常是不切实际的。使用这些绝dui值, 几乎不可能解决共同的对所有应用程序的要求, 因此很难在整个委yuan会中采用良好的做法。它会自动检测代码中的bug,并提醒开发人员在推出产品之前修复它们。
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 帮助组织对代码质量进行基准测试并了解
他们的组织是如何做, 以及他们如何能够和有改进的时间通过
定性和定量的信息。
版权所有©2024 天助网