Project DescriptionThe custom rules for visual studio 2013 are developed as per coding guidelines.
The project provides the set of custom rules developed for visual studio code analysis engine as per coding standard guidelines.
Custom Rules for Visual Studio 2013The project covers the below list of rules#Do use indexing for retrieving data from an array
#Do not provide a default constructor, use parameterized constructor
#Do not use Hungarian notation for types and members
#Do not use nested types when the relationship between the inner-type and outer-type is such that member accessibility semantics are desirable between the two types
#Do not include a prefix on a field name
#Do not lose precision in implicit casts
#Do use the name item for indexed property unless there is an obviously better name (for example a Chars property on String)
#Do not use publicly exposed nested types
#Avoid throwing exceptions from property getters. Property getters should be simple operations and should not have any preconditions. If a getter may throw an exception, it should probably be redesigned to be a method
#If a type has a public constructor, it should probably not be nested
#Consider sealing virtual members that are overridden from the base class
#Enumeration with one value should not be publicly exposed
#Do provide a protected constructor that can be used by types in derived class
#Do favor using enumerations over static constants
#Do use public static read-only fields for predefined objects
#Do explicitly provide a constructor for each class
#Do provide protected method that offers the same functionality as the privately implemented method
#Do use a protected virtual method to raise each event
#Do throw exception for any method failure in your application
#Exceptions should be derived from System.Exception
#Consider using existing exceptions over creating new ones
#Do not return arrays as the internal instances of the arrays can be changed by the calling code
#Avoid ICloneable Implementation
#Do not call GC.Collect method and GC.GetTotalMemory(true)
#Do not return an empty string
#Do not throw exceptions from ToString() method
#Do name generic type parameters with single letters
#Consider using T as type parameter name for types with single type parameter
#Do not introduce generic type names such as 'Element','Node','Log',Message' in Namespace names
#Do use Pascal casing for an enumeration value name
Additional information on starting a new project is available here:
Project Startup Guide.