SonarSource Code Analyzers
SonarABAP
SonarSource 为 ABAP 项目提供静态代码分析器。基于我们自己的技术, SonarABAP 分析代码并找到代码气味、bug 和安全漏洞。阅读更多c/c++ 的 SonarCFamily
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 c/c++。基于我们自己的 c/c++ 编译器 front-end, 它使用xianjin的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarCFamily 目标 C
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的目标-C。基于我们自己的目标 C 编译器 front-end, 它使用xianjin的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarCOBOL
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到市场上的 COBOL。基于我们自己的 COBOL 解析技术, 它使用xianjin的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarC #
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 c#。基于微软 Roslyn 编译器 front-end, 它使用xian进的技术来分析代码和发现代码气味, bug 和安全漏洞。阅读更多SonarFlex
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 Flex。基于我们自己的 Flex 分析器, 它使用xianjin的技术来分析代码和发现代码气味, bug 和安全漏洞。阅读更多SonarJava
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 Java。基于我们自己的 Java 编译器 front-end, 它使用xian进的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarJS
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 JavaScript。基于我们自己的 JavaScript 编译器 front-end, 它使用xian进的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarPHP
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 PHP。基于我们自己的 PHP 编译器 front-end, 它使用xian进的技术来分析代码和发现代码气味, bug 和安全漏洞。阅读更多SonarPLI
SonarSource 为 PL/I 项目提供静态代码分析器。基于我们自己的技术, SonarPLI 分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarPLSQL
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 PL/SQL。基于我们自己的 PL/SQL 编译器 front-end, 它使用xian进的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarPython
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 Python。基于我们自己的 Python 分析器, 它可以找到代码气味、bug 和安全漏洞。阅读更多SonarRPG
SonarSource 为 RPG 项目提供静态代码分析器。基于我们自己的技术, SonarRPG 分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarSwift
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到在市场上的 Swift。基于我们自己的 Swift 编译器 front-end, 它使用xian进的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarVB6
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到市场上的 VB6。基于我们自己的 VB6 编译器 front-end, 它使用xian进的技术来分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarVB
SonarSource 提供的可能是hao的静态代码分析仪, 你可以找到市场上的 VB.NET。基于微软 Roslyn 编译器 front-end, 它使用xian进的技术来分析代码和发现代码气味, bug 和安全漏洞。阅读更多SonarWeb
SonarSource 提供了一个用于 HTML 和 JSF/JSP 的静态代码分析器。基于我们自己的技术, SonarWeb 分析代码并找到代码气味、bug 和安全漏洞。阅读更多SonarXML
SonarSource 为 XML 提供静态代码分析器。基于我们自己的技术, SonarXML 分析代码并找到代码的气味。至于我们在 SonarSource 开发的任何产品, 它都是建立在以下原则之上的: 深度、精que性和速度。
SonarSource
使用 SonarQube 的更广泛的影响和机会
除了扫描之外, 一些组织看到的一个有趣的结果是, 个人
开始对 SonarQube 提供的信息采取行动, 以改变和改善其
关于质量代码创建的行为。一些团队已经开始参与--
甚至兴奋-关于去和检查的因素, 如测试代码覆盖率, 并已能够
大大提高。董事们使用了 SonarQube 的有关规则违规的信息
教育团队如何改变不良习惯以改进代码的创建。所以一个关键的结果
SonarQube 在这些组织使用的机会, 鼓励, 甚至推动
正确的行为。
一些组织通过强制将度量与构建集成在一起来帮助实现
和释放过程。这意味着必须满足某些标准, 以允许生成和
发布过程向前迈进。虽然你不能强迫人们普遍看待不良的结果,
当项目截止时间和软件发布日期出现下滑时, 有机会使用
具有特定数据点和基准的工程经理了解
以前的工作。(组织这样做是明智的, 他们在制定的标准
停止生成和发布过程。
总的来说, 一个实实在在的好处是测试覆盖率翻了一番, 一些测试
使用 SonarQube 的组件团队。一些组织已经观察到测试团队的覆盖率
单元测试的4-5 时间的增加, 以及那些的彻底和严谨的改进
使用 SonarQube 完成单元测试。这反过来又有助于驱动精que的基准
团队的进步伴随着更高质量的代码的交付。
简而言之, SonarQube 可以为基本代码分析提供一个单一的点, 其中用户来自
开发人员可以去看看他们需要知道什么来帮助提高代码质量,
可能与代码评审工具集成, 以便在仪表板中包含代码评审指标。
SonarQube 的挑战
SonarSource 的关键挑战之一是让企业相信投资回报率的好处
实现和使用代码分析解决方案。在这方面的问题的一部分是, 它的
在许多公司的时候, 组织要理解长期利益是有挑战性的
正在寻求快速的、迭代的部署。因此, 重要的是要了解长期利益
在代码的有效期内, 而不仅仅是短期的优势 (这是
在他们自己的方式显着, 但不是战略)。产品的演变, 以解决功能
诸如影响分析和跨平台分析等功能也是
SonarSource 需要集中, 根据客户。与代码审查工具的集成也
被提及作为未来焦点的区域。
SonarSource 的小规模可能是企业部署决策采用的一个障碍。但是,
事实上, 基本产品是开源的, 通常跳转开始采用的初始使用, 并
也为企业使用商业产品提供了一些保证。企业
在更大的部署中显示采用 SonarQube 的客户也有助于
让那些担心产品组合的能力被广泛采用的人打消疑虑。
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的截图)
我非常喜欢下面的设计组件,它可以很好地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,通常可能会阻碍模块化。
SonarSource
外部资源
以下链接在SonarQube的安装过程中被使用,并已在整个博客中被提及。
SonarQube屏幕截图基于生命周期期望的软件质量评估关于github(多语言)的项目示例扩展声纳集成
Eclipse Sonar插件
MySQL调谐器
在CI服务器上安装Sonar(2011)
在linux构建服务器上安装Sonar(2009)
笔记
Sonar和SonarQube这些术语在上面的许多地方已被互换使用。其中一些是由于引用的链接未被更新,而其他链接是由于脚本和程序引用继续与其原始名称一起使用,以防止依赖性问题。
不要在本博客中提到设置,路径和文件位置,URL引用,excetra,在某些情况下,它们需要根据与您的环境相关的设置进行调整。
请注意,此博客上的所有外部链接可能会或可能不会保持实际,并且不可维护,作为此博文的一部分。
ratings 2001-如果某些东西没有为您工作,并且您已经设法使其工作或有一个解决方案/替代方案,请与我们分享!
以上信息由专业从事代理商sonarqube 规则的华克斯于2025/6/28 13:10:15发布
转载请注明来源:http://www.zhizhuke.cn/qyzx/hksxxkj-2872956213.html