For a good discussion on coding conventions in general take a look at this page.
The following conventions must be followed by any code committed to our repository (which also means that the source files already in the repository do serve as good examples).
Type, method and property names use Pascal case. Interface names are prefixed with a capital I as in IAstAttribute.
Public field names also use Pascal case.
Non public field names use Camel case prefixed by an underscore character (_) as in _assemblyReferences.
const/readonly/final non public fields might also use Pascal case.
Local variable (including parameter) names use Camel case.
Module and private method names might also use Camel case.
Tabs are used for indentation not spaces.
A new block increments the indentation level by 1.
Braces placement (C#)
Braces are always placed in their own line and at the same level of indentation of the previous line.
Single line blocks are always delimited by braces.