Gibt es eine definitive Anleitung zum Schreiben von Code-Kommentaren für angehende Entwickler?
Im Idealfall geht es darum, wann Kommentare verwendet werden sollten (und welche nicht) und welche Kommentare enthalten sollten.
Kommentieren Sie nicht, WAS Sie tun, sondern WARUM Sie es tun.
Das WAS wird durch sauberen, lesbaren und einfachen Code mit der richtigen Auswahl von Variablennamen erledigt, um dies zu unterstützen. Kommentare weisen eine übergeordnete Struktur für den Code auf, die vom Code selbst nicht (oder nur schwer) angezeigt werden kann.
kommt dem nahe, ist aber für unerfahrene Programmierer etwas prägnant (eine Erweiterung mit mehreren Beispielen und Eckfällen wäre meiner Meinung nach hervorragend).
Update : Zusätzlich zu den Antworten hier halte ich diese Antwort auf eine andere Frage für äußerst relevant.
quelle
Antworten:
Sie sollten sich der größten Schwäche von Kommentaren bewusst sein: Sie werden abgestanden. Das heißt, wenn sich der Code ändert, aktualisieren Entwickler Kommentare selten, um mit dem Code synchron zu bleiben. Das bedeutet, dass Sie ihnen niemals vertrauen können und trotzdem den Code lesen. Aus diesem Grund sollte Ihr Code selbstdokumentierend sein. Sie sollten Ihre Funktions- und Variablennamen so wählen, dass der Code wie eine Prosa liest.
Dokumentieren Sie also nicht, WAS der Code tut. Selbstdokumentierender Code sollte sich darum kümmern. Dokumentieren Sie, WARUM Sie es tun. Die WARUMs beziehen sich normalerweise auf Geschäftsregeln oder auf die Architektur und ändern sich nicht oft und veralten bei den WARUMs nicht so schnell. Dokumentenkantenfälle. Dokumentausnahmen. Entscheidungen zum Dokumentendesign. Dokumentieren Sie vor allem die Entwurfsentscheidungen, die Sie berücksichtigt, aber nicht umgesetzt haben (und dokumentieren Sie, WARUM Sie sich gegen die Verwendung entschieden haben).
quelle
Sie sollten Robert C. Martins Clean Code- Buch lesen . Es erklärt gut, dass Sie wahrscheinlich nicht richtig codieren, wenn Sie Kommentare benötigen. Im Idealfall sollte Ihr Code "selbstkommentierend" sein. Das Clean Coder-Buch erklärt, wie dies getan wird, sodass Kommentare nicht erforderlich sind, und es beschreibt, wie Kommentare in Situationen ausgeführt werden, in denen dies erforderlich ist. (Wie das Erläutern einer komplexen mathematischen Formel)
quelle
Wie bereits erwähnt, enthält Code Complete verschiedene Richtlinien zum Schreiben von Kommentaren. Kurz gesagt, es ist PDL und kann wie folgt zusammengefasst werden:
Beschreiben Sie Ihre Absicht, nicht was der Code tut. Vermeiden Sie es, Implementierungsdetails zu beschreiben, es sei denn, Sie verwenden einen Trick oder benutzerdefinierte Implementierungen. Beispiel: Verwenden von Bitverschiebungen zum Teilen, Verwenden von Zeigerarithmetik für den Zugriff auf Klassenmitglieder oder Verwenden eines benutzerdefinierten Speicherzuordners für einige Poolobjekte.
Schreiben Sie zuerst den Pseudocode (dh die Kommentare) und dann den Code in real, nachdem Sie Ihre Routine / Methode / Funktion beschrieben haben. Die verwendete Sprache ist auf hohem Niveau und dennoch spezifisch, sodass sie ziemlich ausführlich sein kann
Machen Sie sich schon vor dem Schreiben des Codes ein Bild von der Funktionsweise Ihres Codes
Habe Kommentare so nah wie möglich am eigentlichen Code
Das Ziel ist es, langwierige, nicht verwandte Kommentare zu vermeiden, die möglicherweise veraltet sind, aber Kommentare zu haben, die die Absicht und den Zweck des Codes widerspiegeln. Die Verwendung eines Pseudocodes auf hoher Ebene hilft auch dabei, Ihre Überlegungen zu klären, bevor Sie die Implementierung schreiben.
Auf GameDev.net gibt es einen Link [der PDL erklärt] [1], falls Sie das Buch nicht aufspüren möchten.
quelle
showWindowOnTop(window)
ist immer besser als ein Kommentar der gleichen Art. All dies ist veraltet und im Jahr 2012 nicht mehr empfohlen. Tests sagen Ihnen, was der Code tun soll, bevor Sie ihn schreiben. 4) Gut benannter Code ist besser als Kommentare, die nicht mit schlecht benanntem CodeIch befolge nur ein einfaches und allgemeines Prinzip: In Ihren Kommentaren sollte nicht angegeben werden, was Code tut, sondern warum. Martin Fowler Artikel und Buch über Re-Factoring und Code Das gesamte Buch enthält eine Vielzahl von Informationen, die meines Wissens jedoch leider nicht zusammengefasst sind.
quelle
Mein Vorschlag wäre, Code ohne irgendwelche Kommentare zu schreiben und ihn dann zu verlassen. Kommen Sie in einem Jahr darauf zurück und lesen Sie es. Der Teil, den Sie nicht leicht verstehen, ist der Teil, den Sie kommentieren sollten.
quelle
Es gefällt mir sehr, wie Evan Todd seine Meinung zu den einzig nützlichen Kommentarkategorien zusammenfasst ( zitiert aus seinem Blog ):
quelle