Ich bin ein Verfechter des Kommentierens des Quellcodes und des Dokumentierens von Softwareprodukten. Es ist meine persönliche Erfahrung und Beobachtung, dass die Arbeit an Quellcode, der streng kommentiert wird, mir auf unterschiedliche Weise geholfen hat, wenn ich Software erweitern oder warten musste.
Es gibt jedoch ein anderes Lager, das besagt, dass das Kommentieren letztendlich wertlos oder sein Wert fraglich ist. Zahlreiche Befürworter der Codierung ohne Kommentar argumentieren, dass:
- Wenn ein Code gut geschrieben ist, ist er selbsterklärend und muss daher nicht kommentiert werden
- Wenn ein Code nicht selbsterklärend ist, überarbeiten Sie ihn und machen Sie ihn selbsterklärend, sodass keine Kommentare erforderlich sind
- Ihre Testsuite ist Ihre Live-Dokumentation
- Mit der Zeit werden Code und Kommentare nicht mehr synchronisiert und es kommt zu einer weiteren Quelle von Kopfschmerzen
- Laut Agile ist Arbeitscode wichtiger als viele Dokumentationen, sodass wir das Schreiben von Kommentaren ignorieren können
Für mich ist das nur ein Dogma. Wiederum war meine persönliche Beobachtung, dass Software, die von Teams intelligenter und erfahrener Entwickler geschrieben wurde, letztendlich eine beträchtliche Menge an Code enthält, die nicht selbsterklärend ist.
Auch hier zeigen die Java-API, die Cocoa-API, die Android-API usw., dass es möglich ist, Qualitätsdokumentation zu schreiben und zu verwalten.
Nach alledem enden Gespräche über Vor- und Nachteile der Dokumentation und Kommentare zum Quellcode, die auf persönlichen Überzeugungen beruhen, normalerweise nicht gut und führen zu keinen zufriedenstellenden Schlussfolgerungen.
Als solches suche ich nach wissenschaftlichen Arbeiten und empirischen Studien über die Auswirkungen der Softwaredokumentation, insbesondere des Kommentierens von Quellcode, auf ihre Qualität und Wartbarkeit sowie auf ihre Auswirkungen auf die Teamproduktivität.
Sind Sie auf solche Artikel gestoßen und was war das Ergebnis davon, wenn überhaupt?