CA1505: Avoid unmaintainable code


For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Breaking ChangeNon-breaking

A type or method has a low maintainability index value.

The maintainability index is calculated by using the following metrics: lines of code, program volume, and cyclomatic complexity. Program volume is a measure of the difficulty of understanding of a type or method that is based on the number of operators and operands in the code. Cyclomatic complexity is a measure of the structural complexity of the type or method. You can learn more about code metrics at Measuring Complexity and Maintainability of Managed Code.

A low maintainability index indicates that a type or method is probably difficult to maintain and would be a good candidate to redesign.

To fix this violation, redesign the type or method and try to split it into smaller and more focused types or methods.

Exclude this warning when a type or method is still considered maintainable despite its large size or when the type or method cannot be split.

Maintainability Warnings
Measuring Complexity and Maintainability of Managed Code