SonarLint –为 c#、VB.NET、Java、Java、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 文件, 以生成报告或存储某处以便随着时间的推移进行分析。需要注意的一点是,sonarqube经销商, XML 报告将在每个项目目录中生成一次。
msbuild MySolution.sln/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml1msbuild MySolution.sln/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml与 Visual Studio 中的规则交互
有一个广泛的214规则 c# 和62的 VB.NET, 虽然它们不是所有的默认启用。可以对规则进行定制, 以便为一个项目运行一个规则集, 并为另一个项目设置另一个规则集, 我将在短期内解释。
在真正的 VS 时尚代码, 违反了其中的一个规则得到一个弯曲线下面的代码行, 然后可以处理通过按 ctrl+。还有漂亮的功能, 这是新的 VS2017, 它使工作与分析仪更愉快。它不仅允许我修复当前正在查看的问题, 而且还可以解决相同的问题文档、项目或解决方案。很好。
正如您在下面所看到的, 还有用于禁止规则的选项。您可以内联或在它为您创建的全局抑制文件中执行此项。
# 杂注指令还有一个说明作为注释, 它可能对其他开发人员有帮助。通常我需要查找杂注代码,sonarqube经销商, 所以这是一个不错的 VS 功能, 提高了整个开发人员的经验。
我真正喜欢的另一个特性是, 这些警告给出了一个简短的段落, 解释了规则冲突背后的原因。这个特别的警告是真正引起共鸣的东西, 因为我不喜欢注释代码。应删除死代码。如果有机会, 你认为你会需要它后, 那么没有问题, 这就是源代码管理的是!
如果您需要完整的规则列表, 我发现联机帮助非常有用, 因为您可以通过各种带有标记的规则类型进行筛选。
定制规则
与 VS works 的代码分析方式保持一致, 您可以通过右键单击分析器节点 inVS 并选择 '打开活动规则集' 来访问规则列表。
从那里, 规则集只是另一个类别节点。如果您想了解有关定制规则集的更多信息, 我有一个关于 Visual Studio 代码分析的博客文章, 它将在更深入地进行。
一个知道的陷阱
我无法得到规则运行在构建和不断得到这个错误。
警告 CA0064: 由于无法加载指ding的规则集或不包含任何托管代码分析规则, 因此未执行任何分析。
我确实在 SonarLint 谷歌集团发布了一个问题, 但据我所知, 它是孤立于我的机器。如果发生这种情况, 您需要添加分析器程序集 SonarAnalyzer.CSharp.dll, 如下所示。
如果希望分析在生成时运行, 请通过 '项目属性' 并单击 '在生成时启用代码分析', 在每个项目基础上启用分析。





SonarQube - 的PL / SQL分析
发表评论
PLSQL_Majors我们继续本系列分析PL / SQL代码与今天的主要规则。
我们以前看过如何组织我们的环境,并配置我们的代码分析与Jenkins和SonarQube。
我们创建了自己的质量简介,代理商sonarqube经销商,并审查了所有面向可靠性和安全性的阻止程序和关键。继续阅读→
此条目发布于2014年1月21日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
使用SonarQube进行PL / SQL分析 - 关键
发表评论
PLSQL_Critical在本系列上一篇关于使用SonarQube分析PL / SQL代码的文章中,我们回顾了我们的质量配置文件中现有的阻止程序规则。
我们发现三个违反PL / SQL编程的jia实践,其后果如此重要,不允许容忍。因此,这证明了他们“阻挡者”的地位。
我们还发现这三个规则共有18个缺陷,所以我们假设这个规则是项目团队所知道的。
,这些缺陷导致了应用程序中的逻辑错误 - 这是一个永远不会执行的操作,因为相应的条件将永远不会被满足 - 甚至可能的崩溃。继续阅读→
此条目发布于2014年1月11日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。






SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.maven.plugins 的groupId>
行家-万无一失-插件 artifactId的>
<版本> 2.13 版本>
<结构>
-XX:-UseSplitVerifier argLine>
<包含>
<包括> ** / * Test.java 包括>
<包括> ** / * Tests.java 包括>
包括>
<排除>
<排除> ** /它/ * IT.java 排除>
排除>
配置>
插件>
...
插件> 建造>
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或TopLink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,sonarqube经销商,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
<轮廓>
<! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
覆盖每次测试 ID>
<建立>
<插件>
<插件>
<的groupId> org.apache.maven.plugins 的groupId>
行家-万无一失-插件 artifactId的>
<版本> 2.13 版本>
<结构>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine参数
$ {argLine} -XX:-UseSplitVerifier argLine>
<包含>
<包括> ** / * Test.java 包括>
<包括> ** / * Tests.java 包括>
包括>
<排除>
<排除> ** /它/ * IT.java 排除>
排除>
<! - 每个测试覆盖所需的新配置 - >
<性能>
<属性>
<名称>听者名称>
<值> org.sonar.java.jacoco.JUnitListener 值>
属性>
属性>
配置>
插件>
插件>
建造>
<依赖性>
<依赖性>
<的groupId> org.codehaus.sonar-plugins.java 的groupId>
声纳-jacoco-听众 artifactId的>
<版本> 2.3 版本>
<范围>测试范围>
依赖性>
依赖>
简档>






华克斯信息-sonarqube经销商由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司坚持“以人为本”的企业理念,拥有一支高素质的员工队伍,力求提供更好的产品和服务回馈社会,并欢迎广大新老客户光临惠顾,真诚合作、共创美好未来。华克斯——您可信赖的朋友,公司地址:苏州工业园区新平街388号,联系人:华克斯。
产品:华克斯
供货总量:不限
产品价格:议定
包装规格:不限
物流说明:货运及物流
交货说明:按订单