98 Rules
ID | Name | Severity |
---|---|---|
3550 | Namespace naming convention - case control |
medium
|
3554 | Interface naming convention - case and character set control |
medium
|
3558 | Enumerations naming convention - case and character set control |
medium
|
3560 | Enumeration Items naming convention - case and character set control |
medium
|
3562 | Private Fields naming convention - case and character set control |
medium
|
3564 | Public Fields naming convention - case and character set control |
medium
|
3566 | Methods naming convention - case and character set control |
medium
|
3568 | Events naming convention - case and character set control |
medium
|
3572 | Controls naming convention - prefix, case and character set control |
medium
|
3574 | Properties naming convention - case and character set control |
medium
|
3576 | Avoid declaring public Fields |
high
|
3578 | Avoid large Classes - too many Constructors (.NET) |
medium
|
3580 | Avoid large Classes - too many Methods (.NET) |
medium
|
3586 | Avoid large Methods - too many Lines of Code |
medium
|
3590 | Avoid Interface implementation on Structures |
medium
|
3610 | Avoid declaring VB Variables without typing them (.NET) |
medium
|
3612 | Avoid missing release of SQL connection after an effective lifetime (C#, VB.NET) |
critical
|
3614 | Avoid using String.Empty for empty string tests |
medium
|
3626 | Avoid Interfaces with a very low comment/code ratio |
medium
|
3630 | Avoid having Classes implementing too many Interfaces |
medium
|
7194 | DEPRECATED: Avoid large number of String concatenation (.NET) |
medium
|
7198 | Avoid String concatenation in loops (.NET) |
medium
|
7208 | DEPRECATED: Avoid the use of is inside loops |
medium
|
7212 | Avoid instantiations inside loops (.NET) |
high
|
7258 | DataReader must be called using CommandBehavior.CloseConnection enumeration |
medium
|
7260 | User Interface elements must not use directly the database |
medium
|
7262 | Avoid Namespaces with High Efferent Coupling (CE) |
medium
|
7264 | Avoid namespaces with High Afferent Coupling (CA) |
medium
|
7266 | Call 'base.Dispose()' or 'MyBase.Finalize()' in the "finally" block of 'Dispose(bool)' methods |
medium
|
7268 | Dispose() methods should call GC.SuppressFinalize |
medium
|
7270 | Methods that do not use instance fields\methods should be static (.NET) |
medium
|
7272 | Provide a private default Constructor for utility Classes (.NET) |
medium
|
7294 | Avoid cyclical calls and inheritances between namespaces content |
medium
|
7352 | Avoid calling properties that clone values in loops |
medium
|
7358 | Avoid call to AcceptChanges in a loop |
critical
|
7458 | Avoid large Interfaces - too many Methods (.NET) |
medium
|
7466 | Avoid changing DataSource member before ValueMember/DisplayMember |
high
|
7468 | Disable constraints before merging DataSet |
medium
|
7474 | Avoid Repainting When Updating a ListBox |
medium
|
7918 | Exceptions naming convention -suffix control |
medium
|
7920 | Exceptions naming convention - case and character set control |
medium
|
8086 | Avoid types that own disposable fields and are not disposable |
medium
|
8088 | Avoid override artifacts not having link demands identical to base |
medium
|
8090 | Avoid using NaN to test the result of an expression |
high
|
8092 | Avoid Objects having exposed pointers allowed to access unmanaged memory |
medium
|
8094 | Avoid locking of Objects with weak identities |
medium
|
8148 | Avoid artifacts having Incorrect Type Conversion or Cast |
high
|
8150 | Avoid using Parse for primitive types and used instead TryParse |
medium
|
8152 | Avoid having transaction with the Thread.Sleep method in a loop |
medium
|
8154 | Avoid using GC.Collect() |
high
|
8156 | Persistent classes should implement GetHashCode() and Equals() |
high
|
8158 | Avoid thread creation for application running on application server |
critical
|
8400 | Avoid having lock on this object |
medium
|
8402 | All types of a serializable class must be serializable |
medium
|
1027000 | Avoid Managed type declaration for Win32 API using Overlapped IO |
medium
|
1027002 | Avoid exposing methods that use Platform Invocation Services to access unmanaged code |
medium
|
1027004 | Avoid using deprecated XmlTextReader .NET API |
medium
|
1027008 | Always Revert After Impersonation |
high
|
1027010 | Avoid weak encryption providing insufficient key size (.NET) |
high
|
1027012 | Avoid storing Non-Serializable Object as HttpSessionState attributes. |
high
|
1027014 | Avoid using Thread API (Suspend\Resume) to manage thread state |
medium
|
1027016 | Avoid throwing exceptions in destructors |
high
|
1027018 | Avoid throwing exceptions from finally block |
medium
|
1027020 | Prefer using Any() over Count() or LongCount() |
medium
|
1027022 | Avoid using "new Guid()" |
medium
|
1027024 | Avoid comparing passwords against hard-coded strings |
critical
|
1027030 | Avoid using "Obsolete" attribute without message |
medium
|
1027032 | Avoid hard-coded network resource names (.NET, VB) |
medium
|
1027034 | Never catch NullReferenceException |
medium
|
1027036 | Avoid rethrowing exception explicitly |
medium
|
1027038 | Avoid if … else if constructs not terminated with an else clause (.NET, VB) |
medium
|
1027040 | Avoid using multiple OrderBy calls |
medium
|
1027042 | Avoid having unmatched contracts for exported interfaces |
medium
|
1027044 | Avoid using SafeHandle.DangerousGetHandle |
critical
|
1027046 | Avoid storing passwords in Comments |
medium
|
1027048 | Avoid returning null from non-async Task/Task<T> method |
medium
|
1027050 | Avoid throwing ArgumentException from yielding method. |
medium
|
1027052 | DEPRECATED: Avoid NULL Pointer Dereference (C#, VB.NET) |
medium
|
1027054 | Always use System.Uri instead of string to build URLs |
medium
|
1027058 | Avoid blocking async methods (.NET, VB) |
medium
|
1027064 | Always override 'Equals' and Comparison operators with IComparable implementation |
medium
|
1027066 | Avoid throwing exception from property getters |
medium
|
1027068 | Avoid returning null from ToString() |
medium
|
1027070 | Avoid if statements and blocks that are always TRUE or FALSE |
medium
|
1027074 | Avoid hard-coded URIs (.NET) |
medium
|
1027076 | Avoid allowing File IO unrestricted access |
medium
|
1027078 | Always mark Windows Forms starting point as STAThread |
medium
|
1027080 | Always use ConfigureAwait(false) in library code awaited tasks |
medium
|
1027082 | Avoid using console logging (.Net) |
medium
|
1027084 | Avoid calling CoSetProxyBlanket and CoInitializeSecurity |
high
|
1027086 | Avoid having the same implementation in a conditional structure |
medium
|
1027088 | Avoid non-public custom exception types |
medium
|
1027090 | Avoid improper instantiation of argument exceptions |
medium
|
1027092 | Always pass optional parameters too, when making 'base' calls |
medium
|
1027094 | Always provide deserialization methods for optional fields |
medium
|
1027096 | Avoid raising exceptions in unexpected location |
medium
|
1027098 | Avoid unused private types or members |
medium
|
1027100 | Avoid dangerous File Upload |
high
|