SonarSource简介
系统集成商、外包和应用程序服务提供商在如何向其客户提供下一级别的价值方面不断受到挑战。下载白皮书在服务、解决方案和软件交付方面的质量保证是一个关键的重点领域, 关键是寻找和利用能够为客户提供重要价值的工具, 并帮助引导他们走向成功, 并协助进行内部过程改进。此 IDC 技术聚焦讨论了服务提供商的策略, 以改进软件分析、缺陷管理、安全性和度量的方法, 从而通过主动可见性来获得业务和 IT 好处。提供商业价值的差异化服务是赢得未来业务的关键。服务提供者应该定位自己, 并证明它们是客户 IT 和业务组织之间必不可少的 "质量门"。
SonarLint –为 c#、VB.NET、Java、Javascript、PHP 和 Python 提供一个免费的静态分析工具5月3日, 2017Code 质量, 评论, Toolingsonar 皮棉, 视觉工作室这是一个. NET 的重点帖子。
很高兴看到人们正在构建的东西, 现在 c# 编译器是开源的。我们实际上是在工具中游泳, 这不是一件坏事, 但我需要考虑我的开发管道中有多少工具。我目前在日常工作中使用 ReSharper 和前缀。NDepend 和 PVS-工作室每周一次的基础上, 但只在个人和开源项目。我可以在混合中添加另一个吗?确保!这不是侵入性的, 不会与 ReSharper 或 VS 代码提示冲突。在报告代码相关问题的方式上也有一些轻微的幽默。
通过 IDE 的用法
使用此工具的选项尚未更改, 但它支持三shou欢迎的 IDE 的:
IntelliJ视觉工作室蚀全mian的语言支持来自 IntelliJ 和 Eclipse 的 IDE。如果您使用的是 Visual Studio (VS), 那么您将得到一个很好的 c# 和 VB.NET 规则集。
您也可以在命令行中使用它, 这对于连续生成管线来说是完美的。需要通过 MSBuild 进行分析, 因为它们的命令行工具当前未按广告方式工作。运行分析是很容易的, 而且我可以在构建的末尾处理一个 XML 文件, 以生成报告或存储某处以便随着时间的推移进行分析。需要注意的一点是, XML 报告将在每个项目目录中生成一次。
msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml1msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml与 Visual Studio 中的规则交互
有一个广泛的214规则 c# 和62的 VB.NET, 虽然它们不是所有的默认启用。可以对规则进行定制, 以便为一个项目运行一个规则集, 并为另一个项目设置另一个规则集, 我将在短期内解释。
在真正的 VS 时尚代码, 违反了其中的一个规则得到一个弯曲线下面的代码行, 然后可以处理通过按 ctrl+。还有漂亮的功能, 这是新的 VS2017, 它使工作与分析仪更愉快。它不仅允许我修复当前正在查看的问题, 而且还可以解决相同的问题文档、项目或解决方案。很好。
正如您在下面所看到的, 还有用于禁止规则的选项。您可以内联或在它为您创建的全局抑制文件中执行此项。
# 杂注指令还有一个说明作为注释, 它可能对其他开发人员有帮助。通常我需要查找杂注代码, 所以这是一个不错的 VS 功能, 提高了整个开发人员的经验。
我真正喜欢的另一个特性是, 这些警告给出了一个简短的段落, 解释了规则冲突背后的原因。这个特别的警告是真正引起共鸣的东西, 因为我不喜欢注释代码。应删除死代码。如果有机会, 你认为你会需要它后, 那么没有问题, 这就是源代码管理的是!
如果您需要完整的规则列表, 我发现联机帮助非常有用, 因为您可以通过各种带有标记的规则类型进行筛选。
定制规则
与 VS works 的代码分析方式保持一致, 您可以通过右键单击分析器节点 inVS 并选择 "打开活动规则集" 来访问规则列表。
从那里, 规则集只是另一个类别节点。如果您想了解有关定制规则集的更多信息, 我有一个关于 Visual Studio 代码分析的博客文章, 它将在更深入地进行。
一个知道的陷阱
我无法得到规则运行在构建和不断得到这个错误。
警告 CA0064: 由于无法加载指ding的规则集或不包含任何托管代码分析规则, 因此未执行任何分析。
我确实在 SonarLint 谷歌集团发布了一个问题, 但据我所知, 它是孤立于我的机器。如果发生这种情况, 您需要添加分析器程序集 SonarAnalyzer.CSharp.dll, 如下所示。
如果希望分析在生成时运行, 请通过 "项目属性" 并单击 "在生成时启用代码分析", 在每个项目基础上启用分析。
SonarQube 是一个基于 web 的开源平台, 用于测量和分析源代码的质量。代码质量分析使您的代码更加可靠, 可读性更强。SonarQube 是用 java 编写的, 但它可以通过插件分析和管理超过20编程语言的代码, 包括 c/c++、PL/SQL、Cobol 等。插件扩展了 SonarQube 的功能。有超过50插件可用。SonarQube 由 SonarSource 维护。声纳覆盖7段代码质量
体系结构和设计单元测试重复代码潜在 bug复杂代码编码标准评论SonarQube 接收文件作为输入, 并分析他们连同障碍。然后计算一组度量值, 将它们存储在数据库中并在仪表板上显示它们。这种递归实现有助于分析代码质量以及代码如何随着时间的推移而改进。好吧, 让我们来看看使用 SonarQube 的好处。检测和警报:
SonarQube 在很短的时间内降低了软件开发的风险。它会自动检测代码中的 bug, 并提醒开发人员在推出产品之前修复它们。SonarQube 还突出了单元测试所不包含的复杂代码区域。它通过检测和提醒开发人员来降低误解的风险。持续:
通过保持简洁的代码体系结构和增加的单元测试, SonarQube 平台通过减少代码中的复杂性、重复性和潜在 bug, 大大提高了应用程序的使用寿命。SonarQube 提高了软件的可维护性。它还具有处理更改的能力。生产力:
SonarQube 通过使开发团队能够检测代码的重复和冗余, 从而提高了生产率。SonarQube 方便团队成员减少应用程序的大小、代码的复杂性、维护时间和成本, 使代码易于阅读和理解。SonarQube 在更改应用程序代码时降低了额外成本和时间的风险。提高质量:
SonarQube 可以作为一个多维分析员进行操作, 并且可以对代码质量的七部分进行通知。为了更好的质量, 它避免了重复的代码, 使代码的复杂性降低, 并增加了单位的覆盖面。它可以确定违反代码标准, 并帮助软件开发团队消除 bug。它维护高质量的体系结构, 强制执行编码标准和文档 api。此平台还有助于开发人员创建可自定义的仪表板和筛选器, 以集中于关键区域。这些工具可帮助监视代码质量并跟踪问题。它有助于及时交付质量产品。提高开发人员技能:
开发团队作为其开发过程的一部分可以快速采用它, 因为 SonarQube 为开发团队提供了巨大的价值。开发团队定期收到质量问题的反馈, 帮助他们提高编程技能。SonarQube 帮助开发人员了解其软件的质量, 并确保代码的透明性。规模与业务需求:
SonarQube 的设计是为了扩展业务需求。还没有发现它的可伸缩性的限制。SonarQube 已经在环境中进行了测试。它对超过400万行代码和二十开发者的5000多个项目执行日常分析。启用连续代码质量管理:
使用 SonarQube, 代码分析变得更加容易, 开发人员可以获得宝贵的洞察力, 以确保这一点得到广泛采用。代码质量成为开发过程和开发团队的一部分。通过启用连续代码质量管理, 提高了软件质量, 降低了软件管理的成本和风险。有效地定义和增加需求:
SonarQube 有一套预先定义的标准, 使开发人员和软件管理人员能够立即了解应用程序的质量。为了适应组织或团队的特定要求, 可以轻松地进行配置。培育创新:
随着越来越多的公司迁移到 SonarQube 平台, 它们的规模和多样性也在增加。此平台使这些公司能够自定义和扩展其功能。公司可以获得越来越多的插件和广泛的开发者网络。通过供应商支持和服务降低风险:
为使客户能够从其投资中获得da价值, SonarQube 提供了额外的价值和支持。服务包括开发、技术支持、咨询和培训, 旨在帮助企业获得长期利益。在 Vizteck 解决方案中, 我们使用基于代码评审。然而, 在集成 SonarQube 与我们的连续集成过程与 Jenkin。SonarQube 帮助我们的开发人员识别大部分的东西, 减少开发人员要求代码审查所需的时间。
将SonarQube指标集成到TFS构建中 - 简介
所需步骤概述
这里有很多步骤,有很多消化,所以我将分解这几个博客文章主要是:
使TFS输出所需的测试和覆盖结果文件。
设置您的项目使用声纳。
将“Sonar Runner”整合到您的构建中。
所展示的解决方案足以满足我正在尝试实现的目的,但您可能希望重新排列几个步骤来适应您的场景。 将围绕这些步骤进行一些讨论,以帮助您了解我所做的任何决定,并提供一些背景,但如果您感兴趣的是如何做到这一点,然后忽略此文本,只需按照步骤。
祝你好运与你的整合。
部分 - 使TFS输出所需的测试和覆盖结果文件。
第2部分 - 设置您的项目使用声纳。
第3部分 - 将“Sonar Runner”整合到您的构建中。