Naming Conventions in C# – underscores

A good article to read on the development of C# style guidelines is here at C# coding conventions.

The original guidance for .NET was to never use underscores unless they were part of a private member variable, and then only as a prefix, e.g. _customerId. This was probably inherited from MFC where ‘m_’ was used as a prefix for member variables.

Current practice is not to use underscores at all. Disambiguation between private member variables and parameters with the same name should done using ‘this.’. In fact all references to private members should be prefixed with ‘this.’.

The only place underscore seems to be used a lot is in unit test methods. I’m not a fan, but it may make the methods more readable, for example Throw_If_Customer_Is_Null(){...}.

Leave a Comment

File not found.