SonarSource简介
可靠性问题
这通常被称为潜在的 bug 或代码, 在运行时将不具有预期的行为。此类问题将所有与操作风险或运行时意外行为有关的内容分组。它通常采用可能导致业务中断的关键编程错误的形式。其中的一些问题将存在于简单的不符合jia做法的情况, 但大多数将通过对代码的深入分析和代码的符号执行来检测, 以了解程序中任何给定点的变量的状态。安全问题
这通常被称为程序中的漏洞或缺陷, 可能导致应用程序的使用方式与设计不同。这类问题将所有与程序有缺陷的事情进行分组, 这些漏洞可以被利用来使它的行为与它的设计不同。安全漏洞 (如 SQL 注入或跨站点脚本) 可能是由于编码和体系结构实践不佳造成的。这些问题在 CWE 和证书所维护的列表中有很好的记录
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。SonarQube 是每天使用的 Zitro 游戏审查其 c++ 和 PHP 代码, 并分配质量改进任务给其工程师。Zitro 游戏生产的xian进的游戏平台预计会不停地运行, 没有故障或错误, 因此软件质量对其业务运营绝dui至关重要。但是制作完美的宾果软件只是一次还不够。为了保持其作为全球领xian的视频宾果游戏的地位, Zitro 必须跟上创新的步伐, 这意味着经常发布。由于 Zitro 生产的du博软件, 处理真正的钱, 这些版本必须尽可能接近完美。保持短期的 Zitro 需要保持竞争力只有当它有一个清晰的, 全mian的和xin的图片的质量影响的变化在一个版本。软件质量-从哪里开始?
当它来检查和提高其软件质量, Zitro 只是不知道从哪里开始。首先, 对软件的当前状态没有一个清晰的描述。这意味着, 即使它想投入资源来提高其软件的整体质量, Zitro 的员工也无法有效地组织他们的改进工作, 因为他们不知道应该关注什么。挣扎, 他们做了唯yi的事情, 他们可以想到的;"我们做了繁琐的, 手动代码审查所有的新代码, 每一个版本," Zitro 研发总监哈维 Albors 说。SONARQUBE 提供了一个关于整体源代码质量的清晰视图
当他们发现 SonarQube 的时候, Zitro 的员工意识到他们已经找到了一个高xiao且负担得起的工具, 每天自动检查所有的 c++ 和 PHP 代码。Albors 说: "我们仍然在核心的一些重要部分进行了一些手工代码审查, 但在所有的代码中都没有。现在, "我们只审查 SonarQube 报告。更好的是, 他们能够使用 SonarQube 的问题工作流来管理来自同一接口的这些报告中显示的内容的补救。SonarQube 的好处得到了明确的证明, Zitro 管理层决定将其部署到整个组织。像问题管理系统这样的关键 SonarQube 功能加快了开发团队的采用, SonarQube 的仪表板为组织中的每个人提供了重要信息的整合视图。结果: 显著的节省时间和代码质量的改进
今天, Zitro 使用 SonarQube 分析约25万行代码, 这是划分在17项目, 并由一个由20工程师团队维护。应用程序通过与其 Quickbuild 生成服务器的直接集成, 每天进行分析。每天都会对新的 SonarQube 结果进行评审, 并使用问题管理工作流来分配质量改进任务。"我们赢得了所有团队的时间, 提高了我们的源代码质量, 因为机器正在监视我们!Albors 说。
SonarSource
通过上述命令成功分析项目将导致以下输出到控制台或日志文件:
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-perties
信息:项目配置文件:/Users/manisarkar/bn_projects/TimelineJS/sonar-perties
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 - 执行工作后类portJob
14:11:38.293 INFO - 执行岗位职责类re.ndIssueNotificationsPo的sdtJob
14:11:38.314 INFO - 执行工作后类re.dexProjectPo的stJob
14:11:38.356 INFO - 执行工作后类ugins.jectPurgePo的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-perties文件来帮助创建新的,即非Maven Java项目的Sonar设置[05]和SonarQube Runner [06]分析。
注意:SonarQube Runner希望SonarQube在指ding端口上运行,否则会抛出错误,例如ERROR:Sonar server http:// localhost:9000无法访问。这当然可以通过配置文件进行更改(参见上一篇文章[01])。
SonarQube组件
一旦构建完成并成功,可以在仪表板中找到新的或更新的项目。钻入项目将带来一个屏幕,载入重要指标和分析项目的各个方面:
(以上是示例应用程序的屏幕截图)
令人感兴趣的主要重要组成部分是质量指标,复杂因素,复杂性(左下),测试覆盖率指标(单位测试覆盖率和单位测试成功率)。可能安全违规。 Package Tangle Index and Dependencies to cut,绝dui是方便的,以保持清洁的包和松散耦合的依赖关系。同样的说法,LCOM4(方法中缺少凝聚力 - 降低价值越好),复杂性也揭示了你的类,方法和功能的松散耦合 - 它也是在文件级别和整体级别给出全图。所有这些组件都是软件质量的良好指标,至少如果不是软件工艺 - 底层代码写在质量上有多好?或者它可以被看作是 - 仍然是充足的改进和重构的房间。
热点视图现在进一步分析了分析的其他一些重要方面,并突出显示需要更多关注的领域或者一个更多的问题在其顶点附近 - 要么超越da允许限制,要么需要更多的抛光才能满足要求。
(以上是在网站上发布的JDK7的截图)
我非常喜欢下面的设计组件,它可以很好地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,通常可能会阻碍模块化。
以上信息由专业从事代理商sonarqube静态安全扫描工具的华克斯于2025/1/13 13:13:31发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2834516931.html
上一条:卓蓝减速机图片值得信赖「汉弗瑞」