C # ist eine Hochsprache und in diesen Tagen bin ich auf Code gestoßen, der weniger Kommentare hat als Code, der vor ein paar Jahren geschrieben wurde. Sollten wir wirklich einen Code in hohem Maße kommentieren? Ich möchte nur die Gedanken von euch Leuten kennenlernen.
Es gibt ein ganzes Kapitel, das den Kommentaren in Robert C Martins hervorragendem Buch Clean Code .
Ein paar Highlights:
selbsterklärende Variablen und Methodennamen sind viel wichtiger als Kommentare. Wenn die Namen gut sind und die Architektur einfach zu verstehen ist, sind fast keine Kommentare erforderlich.
Also nur Methodenkopfzeilen und -parameter kommentieren (zum automatischen Generieren der Dokumentation) und innerhalb der Implementierung nur dann, wenn es sich um einen komplizierten Algorithmus oder Entwurfsmuster handelt (manchmal genügt ein Link zu einer Zeitung oder Wikipedia) oder ein "Hack" oder Abhilfe.
Diese komplizierten und "schmutzigen" Teile des Codes ist das, was ich versuche, sehr ausgiebig zu kommentieren, weil dies die Teile des Codes sind, wo andere (oder Sie nach sechs Monaten) nur "WTF" denken? Wenn Sie den Code sehen, erklären Sie, warum Sie dies getan haben und was getan werden muss, um den Code zu verbessern. (Oft wissen Sie dies bei der Implementierung eines Hacks, aber es ist zu wenig Zeit oder Risiko (und somit Testaufwand) zu hoch).
C # haben beide einen imperativen Codierungsstil (für (jedes), während usw.) und einen deklarativen Stil (LINQ, Abfragen).
Der deklarative Stil ist viel besser lesbar und benötigt meiner Meinung nach weniger Kommentare. Jeder kann sehen, was dieser Code macht:
%Vor% Aber mit einer for(each)
loop-Version ist es vielleicht nicht so sichtbar (für etwas fortgeschrittener vielleicht) und Kommentare benötigt.
=
Kommentar, wenn der Code für andere (und Sie) nicht klar ist.
Aus den älteren Tagen der Computerarbeit sollten Sie nicht alles kommentieren, zum Beispiel:
%Vor%Kommentare sollten vor allem sinnvoll sein. Es empfiehlt sich, einen Kommentarkopf für jede Funktion oder Klasse anzugeben, aber nicht jede einzelne Zeile zu kommentieren.
Schreiben Sie Kommentare, die vielleicht nicht einfach zu sein scheinen. Das bedeutet, dass Sie Kommentare hinzufügen müssen, um zu sagen, welcher Algorithmus Sie verwenden (z. B. während einer Sortiermethode möchten Sie erwähnen, ob Sie Bubble Sort oder Merge sort verwenden) oder in Fällen, in denen Sie Änderungen am ursprünglichen Algorithmus vornehmen eine unsortierte Liste in Gruppen von drei anstelle von zwei, wenn Merge Sort).
Wenn jemand, der Ihren Code betrachtet, verwirrt sein kann und ein etwas kompetenter Programmierer ist, werfen Sie einen Kommentar ein, um zu erklären, was Sie tun und warum.
Ein Argument für umfangreiche Kommentare ist, dass wir bei der Programmierung alle unterschiedliche Stile und Methoden haben. Wo ich arbeite, könnten zwei oder drei von uns das gleiche Projekt teilen, und wenn ich seit Wochen hacke und es übergebe, hätten sie keine Ahnung, woher ich komme.
Ich neige dazu, Kommentare abzugeben, wenn ich der Person, die den Code verwendet, etwas erklären muss. Sie wissen, wie man programmiert, sonst würden sie Code nicht ansehen.
%Vor%Ich würde mit diesen Kommentaren nicht übertreiben, aber wenn ich denke, dass ich etwas zu erklären habe, dann tue ich das.