Here is the list of Code Analysis Rules which can be used for any .NET development project.
| CA1001 | CA1001: Types that own disposable fields should be disposable |
| CA1009 | CA1009: Declare event handlers correctly |
| CA1016 | CA1016: Mark assemblies with AssemblyVersionAttribute |
| CA1033 | CA1033: Interface methods should be callable by child types |
| CA1049 | CA1049: Types that own native resources should be disposable |
| CA1060 | CA1060: Move P/Invokes to NativeMethods class |
| CA1061 | CA1061: Do not hide base class methods |
| CA1063 | CA1063: Implement IDisposable correctly |
| CA1065 | CA1065: Do not raise exceptions in unexpected locations |
| CA1301 | CA1301: Avoid duplicate accelerators |
| CA1400 | CA1400: P/Invoke entry points should exist |
| CA1401 | CA1401: P/Invokes should not be visible |
| CA1403 | CA1403: Auto layout types should not be COM visible |
| CA1404 | CA1404: Call GetLastError immediately after P/Invoke |
| CA1405 | CA1405: COM visible type base types should be COM visible |
| CA1410 | CA1410: COM registration methods should be matched |
| CA1415 | CA1415: Declare P/Invokes correctly |
| CA1900 | CA1900: Value type fields should be portable |
| CA1901 | CA1901: P/Invoke declarations should be portable |
| CA2000 | CA2000: Dispose objects before losing scope |
| CA2002 | CA2002: Do not lock on objects with weak identity |
| CA2100 | CA2100: Review SQL queries for security vulnerabilities |
| CA2101 | CA2101: Specify marshaling for P/Invoke string arguments |
| CA2108 | CA2108: Review declarative security on value types |
| CA2111 | CA2111: Pointers should not be visible |
| CA2112 | CA2112: Secured types should not expose fields |
| CA2114 | CA2114: Method security should be a superset of type |
| CA2116 | CA2116: APTCA methods should only call APTCA methods |
| CA2117 | CA2117: APTCA types should only extend APTCA base types |
| CA2122 | CA2122: Do not indirectly expose methods with link demands |
| CA2123 | CA2123: Override link demands should be identical to base |
| CA2124 | CA2124: Wrap vulnerable finally clauses in outer try |
| CA2126 | CA2126: Type link demands require inheritance demands |
| CA2136 | CA2136: Members should not have conflicting transparency annotations |
| CA2140 | CA2140: Transparent code must not reference security critical items |
| CA2147 | CA2147: Transparent methods may not use security asserts |
| CA2207 | CA2207: Initialize value type static fields inline |
| CA2212 | CA2212: Do not mark serviced components with WebMethod |
| CA2213 | CA2213: Disposable fields should be disposed |
| CA2214 | CA2214: Do not call overridable methods in constructors |
| CA2216 | CA2216: Disposable types should declare finalizer |
| CA2220 | CA2220: Finalizers should call base class finalizer |
| CA2229 | CA2229: Implement serialization constructors |
| CA2232 | CA2232: Mark Windows Forms entry points with STAThread |
| CA2235 | CA2235: Mark all non-serializable fields |
| CA2236 | CA2236: Call base class methods on ISerializable types |
| CA2237 | CA2237: Mark ISerializable types with SerializableAttribute |
| CA2238 | CA2238: Implement serialization methods correctly |
| CA2240 | CA2240: Implement ISerializable correctly |
| CA2242 | CA2242: Test for NaN correctly |
| CA1000 | CA1000: Do not declare static members on generic types |
| CA1002 | CA1002: Do not expose generic lists |
| CA1020 | CA1020: Avoid namespaces with few types |
| CA1031 | CA1031: Do not catch general exception types |
| CA1051 | CA1051: Do not declare visible instance fields |
| CA1053 | CA1053: Static holder types should not have constructors |
| CA1500 | CA1500: Variable names should not match field names |
| CA1709 | CA1709: Identifiers should be cased correctly |
| CA1726 | CA1726: Use preferred terms |
| CA1804 | CA1804: Remove unused locals |
| CA1811 | CA1811: Avoid uncalled private code |
| CA1820 | CA1820: Test for empty strings using string length |
| CA1822 | CA1822: Mark members as static |
| CA1823 | CA1823: Avoid unused private fields |
| CA2200 | CA2200: Rethrow to preserve stack details |
| CA2201 | CA2201: Do not raise reserved exception types |
| CA1007 | CA1007: Use generics where appropriate |
| CA1011 | CA1011: Consider passing base types as parameters |
| CA1050 | CA1050: Declare types in namespaces |
| CA1054 | CA1054: URI parameters should not be strings |
| CA1055 | CA1055: URI return values should not be strings |
| CA1056 | CA1056: URI properties should not be strings |
| CA1505 | CA1505: Avoid unmaintainable code |
| CA1506 | CA1506: Avoid excessive class coupling |
| CA1800 | CA1800: Do not cast unnecessarily |
| CA1802 | CA1802: Use literals where appropriate |
| CA1814 | CA1814: Prefer jagged arrays over multidimensional |

No comments:
Post a Comment