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