Sei sulla pagina 1di 1

1) If a variable represents a URI, use System.

Uri instead of string


https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056-uri-properties-
should-not-be-strings?view=vs-2017

2) Base Constructor should not call overridable methods


https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2214-do-not-
call-overridable-methods-in-constructors?view=vs-2015
3) A method which does not use instance variables should be marked static.
There are plenty of 'helper' methods in our codebase which can follow this rule.
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822-mark-
members-as-static?view=vs-2015

4) Intermediate variables are sometimes ignored. Sometimes there are valid


reasons, but fxcop doesn't like them.
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1806-do-not-
ignore-method-results?view=vs-2017

5) Collections should be readonly https://docs.microsoft.com/en-


us/visualstudio/code-quality/ca2227-collection-properties-should-be-read-only?
view=vs-2017
6) Self explanatory https://docs.microsoft.com/en-us/visualstudio/code-
quality/ca1819-properties-should-not-return-arrays?view=vs-2017
7) There are places where we create small 1 - 2 line methods which can be
replaced by a variable https://docs.microsoft.com/en-us/visualstudio/code-
quality/ca1024-use-properties-where-appropriate?view=vs-2015
8) Sometimes we have member variables that are not used anywhere. I saw
plenty of such issues. I also found that it mostly happens when there is code
change and we are not using the member any more, but we forget to delete the
member. This applies to both variables and methods
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1811-avoid-
uncalled-private-code?view=vs-2017
9) Sometimes we are trying to separate different types of data by creating
internal classes. For example, 'Exception' class has two internal classes
'ExceptionCodes' and 'ExceptionMessages'
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1812-avoid-
uninstantiated-internal-classes?view=vs-2015
10) Avoid methods with default parameters. Instead create several overloaded
methods
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1026-default-
parameters-should-not-be-used?view=vs-2015
Others not as frequent
11) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1001-types-
that-own-disposable-fields-should-be-disposable?view=vs-2017
12) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2240-
implement-iserializable-correctly?view=vs-2017
13) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2104-do-not-
declare-read-only-mutable-reference-types?view=vs-2015
14) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211-non-
constant-fields-should-not-be-visible?view=vs-2017

Potrebbero piacerti anche