1. Sprechende Bezeichner benutzen. Um so offensichtlicher die Bezeichnung umso weniger muss man kommentieren.
2. Dokumentiere nur die Sachen die nicht offensichtlich sind (ok nicht immer einfach zu entscheiden. Als Lone Programmer hat man da ein Problem wenn man kein weiteres Augenpaar zur Verfügung hat). Zum Beispiel der Ansatz jede Funktion zu beschreiben (wie du schreibst) führt üblicherweise nur dazu das man offensichtlichen Code beschreibt. Dem nächsten Maintainer deines Codes wird das auffallen und die Kommentare schnell für überflüssig halten und nicht mehr lesen. Dadurch entgeht ihm dann natürlich auch die relevante Dokumentation und du hast den Aufwand weitestgehend umsonst erbracht. Der Ansatz alles zu dokumentieren funktioniert nur wenn man sich die Msdn als Beispiel nimmt. Also wenn man auch Codebeispiel, Ausnahmen, Querbezüge etc. mitpflegt. Wenn du die entsprechenden Resourcen hast das zu tun nur zu. Ansonsten versuch es erst gar nicht
3. Wenn du die Funktionalität in einer Methode kommentierst schreibe nicht primär was die Methode tut sondern das Ziel der Methode und dann warum sie es auf dem implementierten Weg macht. Damit verhindert man das ein anderer Entwickler die Refactoringkeule auspackt um die Methode zu ~vereinfachen~. Oft gibt es aber einen Grund warum die offensichtlich einfache Lösung eben nicht funktioniert. Das sollte man auf jeden Fall dann auch hinschreiben.
4. Unittests für eine Methode sind die beste Dokumentation! Man versteht Code viel besser wenn man sieht wie er in einem kurzen knackigen Beispiel eingesetzt wird als mit trockener Doku. Wenn du unter Zeitmangel leidest und dich entscheiden musst zwischen Unittest und Codedokumentation entscheide dich für Unittest.
5. Benutze nicht Ghostdoc. Die Bequemlichkeit führt schnell dazu das die automatisch generierte Hilfe irgendwann nicht mehr sinnvoll überarbeitet wird und du hast wieder das in Punkt 2. beschriebene Problem.
6. Schreibe Kommentare in einer Sprache die du beherrschst. Wer schonmal englische Kommentare geschrieben vom einem polnischen Coder seinem italienischen Kollegen erklären mußte weiß warum!