...
Documenting the 'why' is far more important than the 'what' or 'how'.
Document anything that would surprise another engineer (or yourself in six months when you've forgotten it).
/C-Style comments/ are not permitted. They are reserved for commenting out big hunks of code locally (never to be committed).
No "divider" comments (i.e. long ----- and ////// comments just to break up code).
No "category" comments (i.e. // Functions // Private Data // Globals etc.).
Use of #region is always disallowed.
Only use /// (triple slash) comments if you are writing xmldoc, and never for ordinary comments that you want to stand out
...
Use prefix + PascalCase for non-public field naming.
Prefixes: m_ = instance field, s_ = static readwrite field, k_ = const
Also prefix static/instance readonly with k_ if the intent is to treat the field as deeply const.
Drop redundant initializers (i.e. no '= 0' on ints, '= null' on ref types, etc.).Drop redundant access specifiers (leave off 'private' at type scope).
Never expose public fields which are not const or static readonly. These fields should be published through a property.
Use readonly where const isn't possible.
...