【问题标题】:Lint for C# [closed]C# 的 Lint [关闭]
【发布时间】:2010-10-19 10:00:26
【问题描述】:

C# 是否有类似 lint 的工具?我有编译器将警告标记为错误,我有 Stylecop,但这些只捕获最严重的错误。是否有其他必备工具(尤其是对于像我这样的 C#新手)可以指出我正在做的可能愚蠢的事情?

【问题讨论】:

    标签: c# .net code-analysis lint


    【解决方案1】:

    试过FxCop?它作为“代码分析”集成到 VS 中

    在较新版本的 Visual Studio 中,它被称为“Microsoft 代码分析”,可以从 Visual Studio Marketplace 下载:https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.MicrosoftCodeAnalysis2017

    【讨论】:

    • 我不使用 VS,但由于您在 17 分钟内获得了 4 次赞成票,因此可能值得一试。现在安装,谢谢!
    • 它也可以在没有 VS 的情况下工作。但是 VS 是 .NET 开发的绝佳工具。
    • 我认为很难说服我 VS(我尝试过,但不喜欢)比 Emacs + 15 年的定制更好。让我更改键盘布局可能会更容易!
    • 顺便说一句,虽然您可能对在 Emacs 中编写代码感到满意,但 .NET 开发不仅仅是编码。您随时可以使用 VS 进行可视化调试和其他工作。不疼。
    • FxCop 10.0 的链接(对于 .NET 4.0,在 7.1 SDK 中):blogs.msdn.com/b/codeanalysis/archive/2010/07/26/…
    【解决方案2】:

    Resharper 执行相当多的静态分析以及大量其他有用的事情。由于version 8.0 分析可以在命令行模式下运行。目前我不会在没有它的情况下用 C# 编写代码。

    除了 FxCop,Gendarme 是另一个值得研究的工具(它是 Mono 的 FxCop 版本,但它们的方法和实际发现的错误不同)。

    【讨论】:

      【解决方案3】:

      Gendarme for Mono 类似于 FxCop

      【讨论】:

        【解决方案4】:

        您可以尝试 Red-Gate 的 .Net Reflector,您可以从 here 获得它。 CodePlex 上提供了许多有用的 .Net Reflector 插件,您可以从 here 获得它。

        【讨论】:

        • 我一直在使用 Reflector,但 AFAICT 只是用于检查编译后的代码。我缺少一些“告诉我我的愚蠢错误”模块吗?
        • 天哪,是的。我不知道你需要做什么来打开它(更像是你做了什么来关闭它),但是挖掘它,太棒了。
        • 既然 Reflector 是一个商业产品,ILSpy 是一个很好的开源替代品……至少对于检查和反汇编来说,我不知道它是否有相同类型的分析工具
        【解决方案5】:

        这个问题已经有了答案,仅供参考……

        你可以试试PVS-Studio。这不是免费的,但是,恕我直言,必须有一个。 从他们的网站引用:

        PVS-Studio 是一个用于检测用 C、C++ 和 C# 编写的程序的源代码中的错误的工具。

        PVS-Studio 执行静态代码分析并生成报告,帮助程序员查找和修复错误。 PVS-Studio 进行广泛的代码检查;但它对于搜索错误打印和复制粘贴错误特别有用。

        分析器专为使用 Visual Studio 的开发人员设计。

        【讨论】:

        • 不要将链接发布为答案,而是添加一些文本来解释此答案如何帮助 OP 解决当前问题。谢谢
        • “必须有一个” - 为什么?
        【解决方案6】:

        SonarLint(免费、开源)非常棒!

        SonarLint for Visual Studio 基于 .NET 编译器平台(“Roslyn”)及其代码分析 API 并从中受益,可在 Visual Studio 2015 中提供完全集成的用户体验。 SonarLint 是免费的开源软件,可在 Visual Studio 库中找到。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-02-22
          • 2020-10-05
          • 1970-01-01
          • 2018-04-13
          • 2020-12-22
          • 2010-10-13
          • 1970-01-01
          相关资源
          最近更新 更多