Lombiq/.NET-Analyzers

GitHub: Lombiq/.NET-Analyzers

Lombiq .NET Analyzers 是一套预配置的 .NET 代码分析器与代码规范方案,帮助团队在 .NET 项目中统一推行静态代码质量标准与编码风格约束。

Stars: 33 | Forks: 6

# Lombiq .NET Analyzers [![Lombiq.Analyzers NuGet](https://img.shields.io/nuget/v/Lombiq.Analyzers?label=Lombiq.Analyzers)](https://www.nuget.org/packages/Lombiq.Analyzers/) [![Lombiq.Analyzers.NetFx NuGet](https://img.shields.io/nuget/v/Lombiq.Analyzers.NetFx?label=Lombiq.Analyzers.NetFx)](https://www.nuget.org/packages/Lombiq.Analyzers.NetFx/) [![Lombiq.Analyzers.OrchardCore NuGet](https://img.shields.io/nuget/v/Lombiq.Analyzers.OrchardCore?label=Lombiq.Analyzers.OrchardCore)](https://www.nuget.org/packages/Lombiq.Analyzers.OrchardCore/) [![Lombiq.Analyzers.Orchard1 NuGet](https://img.shields.io/nuget/v/Lombiq.Analyzers.Orchard1?label=Lombiq.Analyzers.Orchard1)](https://www.nuget.org/packages/Lombiq.Analyzers.Orchard1/) [![Lombiq.Analyzers.VisualStudioExtension NuGet](https://img.shields.io/nuget/v/Lombiq.Analyzers.VisualStudioExtension?label=Lombiq.Analyzers.VisualStudioExtension)](https://www.nuget.org/packages/Lombiq.Analyzers.VisualStudioExtension/) ## 关于 用于 [Lombiq](https://lombiq.com) 项目、[Orchard Core](https://orchardcore.net/) 以及任何其他 .NET 和 .NET Framework 应用程序的 .NET 代码分析器和代码规范设置。我们使用它们在我们所有的 .NET 项目中推行通用标准,包括例如我们所有的[开源 Orchard Core 扩展](https://github.com/Lombiq/Open-Source-Orchard-Core-Extensions)。如果你在使用该方案的同时为我们的开源项目做贡献,你也会受到这些规则的指导。你可以[在这里](https://www.youtube.com/watch?v=dtbGRi3Cezs)查看该项目的演示视频,以及[在这里](https://youtu.be/CHdhwD2NHBU)查看关于 Orchard Core 中自动化 QA 的 Orchard Harvest 2023 演讲。 同时也支持非 SDK 风格的 .NET Framework 项目,前提是它们使用 `PackageReference` 来管理依赖项(与 _packages.config_ 相对)。 你可能感兴趣的其他一些项目: - 在为 JavaScript、CSS 甚至 Markdown 和 YAML 寻找类似的东西吗?请查看我们的 Lombiq GitHub Actions 项目中的 [Asset Linting 工作流](https://github.com/Lombiq/GitHub-Actions/blob/dev/Docs/Workflows/Productivity/AssetLinting.md)。 - 不仅在寻找静态代码分析,还需要动态测试?请查看我们的 [UI Testing Toolbox](https://github.com/Lombiq/UI-Testing-Toolbox) 和 [Testing Toolbox](https://github.com/Lombiq/Testing-Toolbox) 项目。 - 在寻找一个能帮助你遵守分析器规则的库吗?请查看我们的 [Helpful Libraries 项目](https://github.com/Lombiq/Helpful-Libraries)。 我们 [Lombiq](https://lombiq.com/) 还将此模块用于以下项目: - 全新的 [圣莫尼卡市网站](https://santamonica.gov/),当时正将其从 Orchard 1 迁移到 Orchard Core([查看案例研究](https://lombiq.com/blog/helping-the-city-of-santa-monica-with-orchard-core-consulting))。 - 全新的 [Smithsonian Folkways Recordings 网站](https://folkways.si.edu/),当时正将其从 Orchard 1 迁移到 Orchard Core([查看案例研究](https://lombiq.com/blog/smithsonian-folkways-recordings-now-upgraded-to-orchard-core))。 - 全新的 [Lombiq 网站](https://lombiq.com/),当时正将其从 Orchard 1 迁移到 Orchard Core([查看案例研究](https://lombiq.com/blog/how-we-renewed-and-migrated-lombiq-com-from-orchard-1-to-orchard-core))。 - [WTW](https://www.wtwco.com/) 的全新客户端门户([查看案例研究](https://lombiq.com/blog/lombiq-s-journey-with-wtw-s-client-portal))。 - 它也让 [DotNest,即 Orchard SaaS](https://dotnest.com/) 变得更好。 你想快速试用这个项目并看看它的实际运行效果吗?请在我们的 [Open-Source Orchard Core Extensions](https://github.com/Lombiq/Open-Source-Orchard-Core-Extensions) 完整 Orchard Core 解决方案中查看它,并浏览我们其他有用的与 Orchard Core 相关的开源项目! ## 使用的分析器包 我们添加并配置了被广泛使用且相互补充的分析器。 - [.NET 代码风格分析](https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/overview#code-style-analysis) - [.NET 代码质量分析](https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/overview#code-quality-analysis) - [AsyncFixer](https://www.nuget.org/packages/AsyncFixer) - [DotNetAnalyzers.DocumentationAnalyzers](https://www.nuget.org/packages/DotNetAnalyzers.DocumentationAnalyzers/) - [Meziantou.Analyzer](https://www.nuget.org/packages/Meziantou.Analyzer/) - [Microsoft.CodeAnalysis.NetAnalyzers](https://www.nuget.org/packages/Microsoft.CodeAnalysis.NetAnalyzers) - [Microsoft.VisualStudio.Threading.Analyzers](https://www.nuget.org/packages/microsoft.visualstudio.threading.analyzers) - [SecurityCodeScan.VS2019](https://www.nuget.org/packages/SecurityCodeScan.VS2019/) - [StyleCop.Analyzers](https://www.nuget.org/packages/StyleCop.Analyzers/) - [SonarAnalyzer.CSharp](https://www.nuget.org/packages/SonarAnalyzer.CSharp/) 此外,该项目还包含一个 _.editorconfig_ 文件,用于为兼容的编辑器提供额外配置。 ## 指南 - [将分析器添加到你的项目中](Lombiq.Analyzers/Docs/AddingAnalyzers.md) - [在开发期间使用分析器](Lombiq.Analyzers/Docs/UsingAnalyzersDuringDevelopment.md) - [在命令行构建期间使用分析器](Lombiq.Analyzers/Docs/UsingAnalyzersDuringCommandLineBuilds.md) - [配置分析器](Lombiq.Analyzers/Docs/ConfiguringAnalyzers.md) ### 发布新的 NuGet 包 当发布新版本的 NuGet 包时,即使只是一个预发布版本,也要将 _TestSolutions\Lombiq.Analyzers.PackageReferences_ 下的包引用更新到新版本。这是在那里运行测试所必需的。 ### 升级到新版本的 .NET SDK 当新版本的 .NET SDK 发布时,请执行以下操作: - 更改 _Build.props_ 文件中的 `LangVersion` 和 `AnalysisLevel` 元素,以选择启用新的语言特性和分析器。这不适用于非 SDK 风格的 .NET Framework 项目。 - 等待所有分析器支持新的 SDK(主要是新的语言特性)。然后将所有包更新到最新版本。 - 检查是否有新的[代码分析类别](https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories)需要我们在 _Lombiq.Analyzers.globalconfig_ 文件中默认显示警告。 ### 添加新的分析器 添加新的分析器包时,请执行以下操作: - 检查该项目是否处于活跃开发状态,且问题是否能被迅速解决。 - 检查它是否对构建或编辑性能有任何重大影响。 - 审查包中的所有规则,逐一决定我们是否需要它们。 - 检查是否有规则已经被其他分析器覆盖,并禁用重复的规则。 - 我们需要的所有规则都应显示为警告。这允许我们只在需要时,即在 CI 构建期间而不是在开发期间,才因分析器违规中断构建。 - 根据规则适用的应用程序类型,将规则配置添加到相关项目的 _.globalconfig_ 文件中。仅针对编辑器的配置应放在 _.editorconfig_ 文件中。 - 在多个重要的解决方案上对其进行测试。使用 [Hastlayer SDK](https://github.com/Lombiq/Hastlayer-SDK) 是一个很好的例子,因为它是一个大型的 C# 解决方案。
标签:Libemu, NuGet, SOC Prime, Visual Studio插件, 云安全监控, 代码分析, 代码规范, 凭证管理, 多人体追踪, 安全专业人员, 开发工具, 静态分析