sonarqube 平台
sonarqube 是一个连续的分析平台, 它作为 web 服务器运行, ---指标
分析代码和代码结构。sonarqube 是一个开源平台, 并被开发
牢记一个主要目标: 使代码管理可供每个人使用
xiao的努力。sonarqube 生态系统是由 sonarqube 平台和一套
plug-ins 在公共基础设施上担任东道主。
sonarqube 实质上提供了代码分析器、仪表板、报告工具、问题---和
timemachine 作为---功能, 但它也有一个插件机制, 使社区能够
扩展功能 (当前有超过 60 plug-ins 可用)。
sonarqube 可以成为源代码的协调中心, 因为它不需要
限于开发人员或技术娴熟的, 但可以提供有用的信息广泛
项目经理, 技术---, it, 甚至在一个组织内的业务---
可自定义的仪表板。sonarqube 的建筑和 plug-ins (如 sqale) 和
管理和---技术---的机会可以为管理人员提供关键信息和
业务在整个软件生命周期中反复地主动地解决缺陷。他们提供
与和成本有关的项目的---概述, 并帮助解决风险。
sonarqube 提供的不仅仅是关于软件健康的---指标。由于开发人员
提供了一个粒度代码级别的信息, sonarqube 使这些构建软件
查找并深化到存在代码问题的位置。sonarsource 的产品组合使
对软件变更领域的反馈和影响分析, 并提供反馈, 说明如何
改进开发方法。产品还提供与构建管理的协调
(与詹金斯的支持), 以帮助实现持续集成的部署。
sonarqube 集成的工具, 如 findbugs, checkstyle, pmd, fxcop的, c的p的p的check 出 of-the-box,
或提供 plug-ins。然后, 它可以充当代码分析工具的中心中心,
从而为多个项目提供历史洞察力和趋势分析。一体化的地方
分析和报告是一个加号, 即使组织选择不对发送的报告采取行动。
可以访问有关代码复杂性的历史数据和发现的问题工具的数量
该代码可以提供是否有效地构建软件的可视性, 或者如果方法
需要改变。
在语言方面, sonarqube 支持分析 java 的---, 但也有超过20
语言, 如 cobol、c++、pl/sql 和 c# 通过 plug-ins (开源或商业)
因为报告引擎是语言不可知的。
sonarqube 使组织能够在七轴上覆盖并报告:
?重复代码
?编码标准
按单元测试?覆盖范围
?复杂代码
?潜在 bug
?---
?设计与体系结构
xin版本还改进了软件属性的评估, 并
一个---的工作范围的技术---和孤立的问题, 创造技术---,
根据参考。sonarqube 是可配置的, 可以给代码一个 等级 (从 a 到
e), 并可以确定它通常在努力和所需的工作类型方面的成本
改进软件。例如, 由于缺少单元测试, 代码可能有较低的评级, 或者
由于大量的重复代码或安全-。sonarqube 将显示
-行为是并将估计解决这些问题的费用。用户可以更改工作量估计和
他们会被计算在内, 这是有帮助的。此版本还可以使比较团队
根据需要对项目和组织的各个部分进行评估。
虽然 sonarqube 可以在战shu上用于---审计, 但它可以更具---地利用
作为一个共享的, 共同的信息来源的分析正如刚才所描述的, 以帮助
支持代码的持续改进策略。
各种各样的组织使用 sonarqube 提供的产品组合的范围 (从
本公司的免费 开源 选项给企业, 站点范围内的 终ji 许可版本)。
然而, 目标在---是大和非常大公司与企业, 分布
开发团队和合作伙伴协调。一人团队可以使用开源版本
显然, 这可以作为一个坡道上的收养。但一旦一个组织越过
在开发项目和用户的数量方面, 需要移动到
商业企业解决方案。idc 发表了三企业客户参考
sonarqube, 主要是开始开放源码收养, 获得立足点, 然后演变
到部署1000以上的用户。
sonarsource
代码是一个不断增长的市场, 它是分析师对其-采用和大量---的雷达。
介绍麦凯布的圈复杂度长期以来一直是事实上的标准测量方法的控制流的复杂性。它初的目的是 确定软件模块将很难测试或维护 [1], 但当它准确地计算xiao的测---例需要完全覆盖的方法, 它不是一个令人满意的测量理解。这是因为具有相等圈复杂度的方法不一定存在同样的困难,sonarqube工具介绍, 维护, 导致一种感觉,测量 啼狼 由 over-valuing 一些结构, 而 under-valuing 其他构造.同时, 圈复杂度不再是全mian的。制定的fortran 环境在 1976年, 它不包括现代语言结构, 如尝试/捕zhuo,和 lambda。---, 因为每个方法都有一个xiao的圈复杂度得分, 它是不可能知道任何具有高聚合圈复杂度的给定类是否一个大的、易于维护的域类, 或一个具有复杂控制流的小类。在类级别之外, 人们普遍承认, 圈复杂度的分数应用程序与它们的代码总计行相关联。换言之, 圈复杂度是在方法级别上很少使用。作为对这些问题的一种补救, 认知复杂性已经被制定来解决现代语言结构, 并产生的价值是有意义的类和应用程序级别。更重要的是, 它背离了基于数学模型, 使其能够产生控制流的评估, 对应于程序员的直觉的精神, 或认知的努力, 需要了解这些流动.
sonarsource简介
---性问题
这通常被称为潜在的 bug 或代码, 在运行时将不具有预期的行为。此类问题将所有与操作风险或运行时意外行为有关的内容分组。它通常采用可能导致业务中断的关键编程错误的形式。其中的一些问题将存在于简单的不符合jia做法的情况, 但大多数将通过对代码的深入分析和代码的符号执行来检测, 以了解程序中任何给---的变量的状态。安全问题
这通常被称为程序中的漏洞或缺陷, 可能导致应用程序的使用方式与设计不同。这类问题将所有与程序有缺陷的事情进行分组, 这些漏洞可以被利用来使它的行为与它的设计不同。安全漏洞 (如 sql 注入或跨站点---) 可能是由于编码和体系结构实践不佳造成的。这些问题在 cwe 和---所维护的列表中有---的记录
|