Naming Conventions and Styles

  1. Use Pascal casing for type and method names and constants:

    public class SomeClass
    {
       const int DefaultSize = 100;
       public SomeMethod()
       {}
    }
  2. Use camel casing for local variable names and method arguments:

    int number;
    void MyMethod(int someNumber)
    {}
  3. Prefix interface names with I:

    interface IMyInterface
    {..}
  4. Prefix private member variables with m_.

  5. Suffix custom attribute classes with Attribute.

  6. Suffix custom exception classes with Exception.

  7. Name methods using verb/object pairs, such as ShowDialog().

  8. Methods with return values should have names describing the values returned, such as GetObjectState().

  9. Use descriptive variable names.

    1. Avoid single-character variable names, such as i or t. Use index or temp instead.

    2. Avoid using Hungarian notation for public or protected members.

    3. Avoid abbreviating words (such as num instead of number).

  10. Always use C# predefined types, rather than the aliases in the System namespace. For example:

    object NOT Object
    string NOT String
    intNOT Int32
  11. With generics, use capital letters for types. Reserve suffixing Type for when dealing with the .NET type Type:

    //Correct:
    public class LinkedList<K,T>
    {...}
    //Avoid:
    public class LinkedList<KeyType,DataType>
    {...}
  12. Use meaningful namespace names, such as the product name or the company name.

  13. Avoid fully qualified type names. Use the using statement instead.

  14. Avoid putting a using statement inside a namespace.

  15. Group all framework namespaces together and put custom or third-party namespaces underneath:

    using System; ...

Get Programming .NET Components, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.