Skip to main content

Categorization

Currently, there are two categories in Shimmering.Analyzers: ShimmeringUsage and ShimmeringStyle. The Shimmering prefix allows you to easily set the same severity for all diagnostics in this NuGet package.

  1. ShimmeringUsage: These rules have ID SHIMMER1XXX and aim to enforce better usage of .NET APIs and C# constructs. If your code is flagged, it means there's likely a more idiomatic, efficient, or modern way to achieve the same result in .NET.
  2. ShimmeringStyle: These rules have ID SHIMMER2XXX and aim to enforce a consistent, but subjective, style throughout the code base. enforce the correct usage of .NET APIs and C# constructs.

All Shimmering rules are enabled by default, but some are hidden by default. See here to understand the differences.

Table

Rule IDCategorySeveritySinceNotes
SHIMMER1000ShimmeringUsageWarning1.0.0NullableCancellationTokenAnalyzer, Documentation
SHIMMER1001ShimmeringUsageInfo1.0.0MissingCancellationTokenAnalyzer, Documentation
SHIMMER1010ShimmeringUsageWarning1.0.0ToListForEachAnalyzer, Documentation
SHIMMER1011ShimmeringUsageWarning1.0.0ToArrayOrToListFollowedByLinqMethodAnalyzer, Documentation
SHIMMER1012ShimmeringUsageWarning1.0.0ArrayOrArrayReturningMethodFollowedByToArrayAnalyzer, Documentation
SHIMMER1015ShimmeringUsageHidden1.0.0SingleUseIEnumerableMaterializationAnalyzer, Documentation
SHIMMER1020ShimmeringUsageWarning1.0.0RedundantSpreadElementAnalyzer, Documentation
SHIMMER1030ShimmeringUsageInfo1.0.0MissingRemoveEmptyEntriesAnalyzer, Documentation
SHIMMER1100ShimmeringUsageWarning1.0.0MisusedOrDefaultAnalyzer, Documentation
SHIMMER1101ShimmeringUsageInfo1.0.0SingleElementConcatAnalyzer, Documentation
SHIMMER1102ShimmeringUsageHidden1.0.0UniqueNonSetCollectionAnalyzer, Documentation
SHIMMER2000ShimmeringStyleInfo1.0.0VerboseLinqChainAnalyzer, Documentation
SHIMMER2010ShimmeringStyleInfo1.0.0NegatedTernaryConditionAnalyzer, Documentation
SHIMMER2020ShimmeringStyleInfo1.0.0RedundantOutVariableAnalyzer, Documentation
SHIMMER2030ShimmeringStyleHidden1.0.0PrimaryConstructorParameterReassignmentAnalyzer, Documentation