Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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.

...