Maintainability rules
Maintainability rules support library and application maintenance.
In this section
Rule | Description |
---|---|
CA1501: Avoid excessive inheritance | A type is more than four levels deep in its inheritance hierarchy. Deeply nested type hierarchies can be difficult to follow, understand, and maintain. |
CA1502: Avoid excessive complexity | This rule measures the number of linearly independent paths through the method, which is determined by the number and complexity of conditional branches. |
CA1505: Avoid unmaintainable code | A type or method has a low maintainability index value. A low maintainability index indicates that a type or method is probably difficult to maintain and would be a good candidate for redesign. |
CA1506: Avoid excessive class coupling | This rule measures class coupling by counting the number of unique type references that a type or method contains. |
CA1507: Use nameof in place of string | A string literal is used as an argument where a nameof expression could be used. |
CA1508: Avoid dead conditional code | A method has conditional code that always evaluates to true or false at run time. This leads to dead code in the false branch of the condition. |
CA1509: Invalid entry in code metrics configuration file | Code metrics rules, such as CA1501, CA1502, CA1505 and CA1506, supplied a configuration file named CodeMetricsConfig.txt that has an invalid entry. |
CA1510: Use ArgumentNullException throw helper | Throw helpers are simpler and more efficient than if blocks that construct a new exception instance. |
CA1511: Use ArgumentException throw helper | Throw helpers are simpler and more efficient than if blocks that construct a new exception instance. |
CA1512: Use ArgumentOutOfRangeException throw helper | Throw helpers are simpler and more efficient than if blocks that construct a new exception instance. |
CA1513: Use ObjectDisposedException throw helper | Throw helpers are simpler and more efficient than if blocks that construct a new exception instance. |
CA1514: Avoid redundant length argument | A redundant length argument is used when slicing to the end of a string or buffer. A calculated length can be error-prone and is also unnecessary. |
CA1515: Consider making public types internal | Unlike a class library, an application's API isn't typically referenced publicly, so types can be marked internal. |
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for