Interessanterweise wird die Lesbarkeit in Bezug auf die natürliche Sprache an der Geschwindigkeit des Lesens und Verstehens gemessen. Ich denke, eine einfache Regel kann in der Tat übernommen werden. Wenn ein bestimmter Codekommentar diese Eigenschaft nicht verbessert, kann er vermieden werden .
Warum Kommentare?
Obwohl der Codekommentar eine Form der eingebetteten Dokumentation ist, gibt es in High-End-Programmiersprachen mehrere Möglichkeiten, um überflüssige "überdokumentierte" Programmierung (von sinnvollem Code) durch Verwendung von Elementen der Sprache selbst zu vermeiden. Es ist auch eine schlechte Idee, Code in Listen aus dem Programmierlehrbuch umzuwandeln, in denen einzelne Aussagen buchstäblich auf fast tautologische Weise erklärt werden (beachten Sie das Beispiel "/ * Inkrement i um 1 * /" in bereits bereitgestellten Antworten), um solche Kommentare relevant zu machen Nur für Programmierer, die mit der Sprache nicht vertraut sind.
Nichtsdestotrotz ist es die Absicht zu versuchen, den "unterdokumentierten" (aber bedeutungslosen) Code zu kommentieren, der wirklich "die Quelle allen Übels" ist. Die bloße Existenz von "unterdokumentiertem" Code ist ein schlechtes Signal - entweder ist es ein unstrukturiertes Durcheinander oder ein verrückter Hack mystischer, verlorener Absicht. Offensichtlich ist der Wert eines solchen Codes zumindest fraglich. Leider gibt es immer wieder Beispiele, bei denen es in der Tat besser ist, einen Kommentar in einen Abschnitt aus (visuell gruppierten) formatierten Codezeilen einzufügen, als ihn in eine neue Subroutine zu packen (beachten Sie die "dumme Konsistenz", die "der Hobgoblin der kleinen Köpfe" ist). .
Codelesbarkeit! = Codekommentare
Für lesbaren Code sind keine Anmerkungen durch Kommentare erforderlich. An jeder bestimmten Stelle im Code befindet sich immer ein Kontext einer Aufgabe, die dieser bestimmte Code erfüllen soll. Wenn der Zweck fehlt und / oder der Code etwas Rätselhaftes tut = um jeden Preis vermeiden. Lassen Sie nicht zu, dass seltsame Hacks Ihren Code füllen - dies ist eine direkte Folge der Kombination fehlerhafter Technologien mit Zeit- und Interessensmangel, um die Grundlagen zu verstehen. Vermeiden Sie mystischen Code in Ihrem Projekt!
Auf der anderen Seite kann Readable program = code + documentation mehrere legitime Abschnitte von Kommentaren enthalten, z. B. um die Erstellung von "Kommentare zur API" -Dokumentation zu erleichtern.
Befolgen Sie die Codestilstandards
Komischerweise geht es bei der Frage nicht darum, warum man Code kommentiert, sondern darum, wie man Code in einem stark synchronisierten Stil erzeugt (den jeder andere lesen / verstehen kann). Befolgen Sie in Ihrem Unternehmen Standards für den Codestil? Das Hauptziel besteht darin, das Schreiben von Code zu vermeiden, der überarbeitet werden muss, zu "persönlich" und "subjektiv" mehrdeutig ist. Wenn man also die Notwendigkeit sieht, einen Code-Stil zu verwenden, gibt es eine ganze Reihe von Werkzeugen, mit denen man ihn richtig implementieren kann - angefangen bei der Aufklärung der Mitarbeiter bis hin zur Automatisierung der Qualitätskontrolle des Codes (zahlreiche Einschränkungen usw.) und (Überarbeitung) Kontrollintegrierte) Code-Überprüfungssysteme.
Werden Sie ein Evangelist für Codelesbarkeit
Wenn Sie damit einverstanden sind, dass Code öfter gelesen wird als geschrieben. Wenn es für Sie wichtig ist, Ideen klar auszudrücken und klar zu denken, egal in welcher Sprache (Mathematik, Maschinencode oder Alt-Englisch). Wenn es Ihre Mission ist, langweilige und hässliche Arten des alternativen Denkens zu beseitigen. (Entschuldigung) , der letzte stammt aus einem anderen "Manifest"). Fragen stellen, Diskussionen anstoßen, nachdenkliche Bücher über Codereinigung verbreiten (wahrscheinlich nicht nur etwas, das Becks Entwurfsmustern ähnelt, sondern eher wie bereits von RC Martin erwähnt ), die sich mit Zweideutigkeiten befassen in der Programmierung. Weiter geht eine Stichprobe von Schlüsselideen (zitiert aus O'Reilly Buch über Lesbarkeit)
- Vereinfachen Sie das Benennen, Kommentieren und Formatieren mit Tipps, die für jede Codezeile gelten
- Verfeinern Sie die Schleifen, die Logik und die Variablen Ihres Programms, um Komplexität und Verwirrung zu verringern
- Angriffsprobleme auf Funktionsebene, z. B. das Reorganisieren von Codeblöcken, um jeweils eine Aufgabe auszuführen
- Schreiben Sie effektiven Testcode, der gründlich und präzise sowie lesbar ist
Wenn man das "Auskommentieren" ausschneidet, bleibt einem noch viel übrig (ich denke, das Schreiben von Code, der keine Kommentare benötigt, ist eine großartige Übung!). Die Benennung semantisch bedeutungsvoller Bezeichner ist ein guter Anfang. Als Nächstes strukturieren Sie Ihren Code, indem Sie logisch verbundene Operationen in Funktionen und Klassen gruppieren. Und so weiter. Ein besserer Programmierer ist ein besserer Schreiber (natürlich unter der Voraussetzung, dass andere technische Fähigkeiten vorhanden sind).