-
由 Manish Vasani 提交于
Roslyn repo currently includes analyzer package references to sub-packages of FxCopAnalyzers package (Microsoft.CodeQuality.Analyzers and Microsoft.NetCore.Analyzers). Due to the high noise level for default enabled CA rules from these packages, we end up turning off majority of these rules for the repo in our ruleset files. This change switches the repo from FxCop analyzers package to .NET analyzers package (NOTE: we plan to ship the analyzer assemblies from this package in the .NET SDK soon). This helps us dogfood the experience from this new analyzer package, especially from the perspective of noise from default enabled analyzers, while also cleaning up our configuration files. Some more details below: - The new package has the same set of CA rules, but the legacy ones are now disabled by default. - There are a handful of rules which are enabled by default as IDE suggestions (Info severity): either as part of the triage of pre-existing CA rules OR recently added by the .NET runtime team. - There are even fewer set of rules which are enabled by default as warnings – all of these have been added by the .NET runtime team, none of the pre-existing rules are enabled as warnings in this package. The core dogfooding aspect would be: 1. Enabled by default rules: 1. Analyzer exception diagnostics (AD0001): absolute must to fix or disable these rules by default in the package. 2. Noise from false positives: It would be a higher priority issue if the false positives are from a rule which is enabled as a build warning, but we should fix even false positives from info rules. We may also want to consider bumping these rules to lower severity or disabling them by default. 3. Rules which had to be turned off for specific projects, say test projects. We should re-triage such rules and consider if they should be disabled by default. 2. Disabled/Info rules which were escalated to Info/Warnings as we found these to be valuable and reliable: We can potentially re-triage each of these rules and consider if they are valuable enough to have its default severity/enabled state changed to benefit customers.
6fb3c507