SonarSource
5个工具可以帮助您编写更好的Java代码
在IDR解决方案方面,我们一直在寻找改进我们的Java PDF库和我们的PDF到HTML5转换器的方法。hao的方法是改进我们编写的Java代码,我们使用一些有用的工具来帮助我们改进代码,也有助于提高生产力。
在本文中,我们将介绍我们在IDR Soluti中使用的5种的工具,以及如何帮助Java Developers编写更好的代码。我还撰写了一篇针对更具体的领域的后续文章,这是一个帮助您进行Java性能调整的9种工具。
FindBugs的
umdFindbugsFindBugs是一个开放源代码程序,根据Lesser GNU公共许可证的条款分发,并以Java字节码而不是源代码运行。
该工具使用静态分析来帮助确定Java程序代码中的数百种不同类型的错误,包括空指针解引用,递归循环,Java库和死锁的不良用法。
FindBugs主要用于识别大量应用中的数百个严重缺陷,并且能够确定潜在错误的严重性,并分为四个等级:
1scariest
2scary
3troubling
4of concern.
SonarSource简介
我们建立了一个 "商品" 解决方案来管理代码质量。要做到这一点, 提供hao的产品是不够的。产品也必须与整个生态系统在开发过程中发挥良好的作用, 否则它们将根本不会被使用 (至少在我们所期望的规模上)。正是基于这一点, 我们建立了 SonarQube 和 SonarLint。与生成系统
SonarQube 与标准构建系统紧密集成, 提供零配置方法。通过与liu行的构建系统 (如 Maven、MSBuild、Gradle 和 ANT) 集成, 我们提供了一种快速的扫描项目的方法, 很少或根本没有配置。但这并不是唯yi的好处: 这种集成也意味着这种分析 "配置" 将始终是xin的, 因为它是用来构建项目的, 因此在长期运行过程中保持平稳。生成系统ci 引擎与CI 引擎
SonarQube 集成了liu行的连续集成引擎, 如詹金斯和 TFS。SonarQube 与构建系统的集成加上简单的命令分析线机制, 意味着 SonarQube 已经很容易地与 CI 引擎集成。但是, 我们已经更进一步地提供了额外的集成与 CI 引擎, 如詹金斯和 TFS 通过启用一键式体验集成 SonarQube 扫描到构建。与ide
开发人员在他们喜欢的 IDE 中获得代码质量的反馈。SonarLint 为开发人员提供了在 IDE 中直接对代码质量的 real-time 反馈, 突出显示了开发人员类型的问题, 以便将重点放在代码上。ide公司系统与企业系统
作为企业产品, SonarQube 可以很容易地与现有系统集成, 例如授权和身份验证。SonarQube 带有内置功能, 可与的安全系统 (如 Active Directory、LDAP、Oauth 等) 集成。身份验证以及授权可以委派给这些系统。它还可以集成到大多数其他系统, 这得益于它强大的 API。与连续部署
SonarQube 提供了一个简单的工具, 以集成到管道。SonarQube 提供了在连续交付过程的任何步骤中, 将代码质量验证 (称为质量门) 挂钩的能力。这使您能够在代码是否已通过您的预定义的代码质量标准集的基础上进行升级, 从而自动化了升级审批过程。
SonarLint –为 c#、VB.NET、Java、Javascript、PHP 和 Python 提供一个免费的静态分析工具5月3日, 2017Code 质量, 评论, Toolingsonar 皮棉, 视觉工作室这是一个. NET 的重点帖子。
很高兴看到人们正在构建的东西,陕西中国sonarqube, 现在 c# 编译器是开源的。我们实际上是在工具中游泳, 这不是一件坏事, 但我需要考虑我的开发管道中有多少工具。我目前在日常工作中使用 ReSharper 和前缀。NDepend 和 PVS-工作室每周一次的基础上,中国sonarqube规则, 但只在个人和开源项目。我可以在混合中添加另一个吗?确保!这不是侵入性的, 不会与 ReSharper 或 VS 代码提示冲突。在报告代码相关问题的方式上也有一些轻微的幽默。
通过 IDE 的用法
使用此工具的选项尚未更改, 但它支持三shou欢迎的 IDE 的:
IntelliJ视觉工作室蚀全mian的语言支持来自 IntelliJ 和 Eclipse 的 IDE。如果您使用的是 Visual Studio (VS), 那么您将得到一个很好的 c# 和 VB.NET 规则集。
您也可以在命令行中使用它, 这对于连续生成管线来说是的。需要通过 MSBuild 进行分析,中国sonarqube 安装, 因为它们的命令行工具当前未按广告方式工作。运行分析是很容易的, 而且我可以在构建的末尾处理一个 XML 文件, 以生成报告或存储某处以便随着时间的推移进行分析。需要注意的一点是, 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规则由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是江苏 苏州 ,行业软件的见证者,多年来,公司贯彻执行科学管理、创新发展、诚实守信的方针,满足客户需求。在华克斯领导携全体员工热情欢迎各界人士垂询洽谈,共创华克斯更加美好的未来。