我们有一个在 .NET Framework 4.8 上运行已有 20 年的代码库,我们需要添加一个代码分析器来检查源代码中的圈复杂度,如果复杂度超出限制,则构建管道失败。
我已经在我的项目中使用了 Microsoft.CodeAnalysis.NetAnalyzer nuget 包,并配置为在方法的圈复杂度超过 20 时抛出错误,但我们有旧项目和一些具有高复杂性的方法,我们想要对方法级别设置限制,以便它们可以通过,而如果某些方法的复杂性超出了设置的范围,则应该失败。我看到 SuppressMessage 属性可用,但不接受自定义限制的参数。
还有其他方法吗?
您可以添加复杂性阈值,但这是在项目级别上:
1-创建一个文本文件:CodeMetricsConfig.txt
2-选择您的阈值:CA1502:20
3-将此文件添加到您的项目中,并在属性中将其标记为AdditionalFiles
有关更多信息,请查看此链接:https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1502