Warum binden wir Beschreibungen des Quellcodes in natürlicher Sprache (dh den Grund, warum eine Codezeile geschrieben wurde) immer noch in den Quellcode ein und nicht als separates Dokument?
Angesichts der umfangreichen Immobilien, die modernen Entwicklungsumgebungen (hochauflösende Monitore, Doppelmonitore usw.) geboten werden, könnte eine IDE Semi-Lock-Step-Panels bereitstellen, bei denen der Quellcode visuell von - getrennt, aber eng mit - verknüpft ist. die entsprechenden Kommentare. Beispielsweise könnten Entwickler Quellcodekommentare in einer Hyperlink-Markup-Sprache schreiben (Verknüpfung mit zusätzlichen Softwareanforderungen), wodurch gleichzeitig verhindert wird, dass die Dokumentation den Quellcode überfüllt.
Welche Mängel würden einen solchen Softwareentwicklungsmechanismus verhindern?
Ein Modell zur Klärung der Frage:
Wenn sich der Cursor an einer bestimmten Zeile im Quellcode befindet (oben mit blauem Hintergrund dargestellt), wird die Dokumentation hervorgehoben, die der Zeile am Cursor entspricht (dh von den anderen Details unterschieden wird). Wie in der Frage erwähnt, bleibt die Dokumentation mit dem Quellcode im Gleichschritt, wenn der Cursor durch den Quellcode springt. Ein Hotkey kann zwischen "Dokumentationsmodus" und "Entwicklungsmodus" wechseln.
Mögliche Vorteile sind:
- Mehr Quellcode und mehr Dokumentation auf den Bildschirmen gleichzeitig
- Möglichkeit, die Dokumentation unabhängig vom Quellcode zu bearbeiten (unabhängig von der Sprache?)
- Schreiben Sie Dokumentation und Quellcode parallel, ohne Konflikte zusammenzuführen
- Hyperlink-Dokumentation in Echtzeit mit hervorragender Textformatierung
- Quasi-Echtzeit-Maschinenübersetzung in verschiedene natürliche Sprachen
- Jede Codezeile kann eindeutig mit einer Aufgabe, einer Geschäftsanforderung usw. verknüpft werden.
- Die Dokumentation kann automatisch einen Zeitstempel erstellen, wenn jede Codezeile geschrieben wird (Metriken).
- Dynamische Aufnahme von Architekturdiagrammen, Bildern zur Erklärung von Zusammenhängen usw.
- Dokumentation aus einer Hand (z. B. Tag-Code-Schnipsel zur Aufnahme in das Benutzerhandbuch).
Hinweis:
- Das Dokumentationsfenster kann ausgeblendet werden
- Der Workflow zum Anzeigen oder Vergleichen von Quelldateien wäre nicht betroffen
- Wie die Implementierung erfolgt, ist ein Detail. Die Dokumentation könnte sein:
- am Ende der Quelldatei aufbewahrt;
- durch Konvention in zwei Dateien aufgeteilt (
filename.c
,filename.c.doc
); oder - vollständig datenbankgesteuert
- Mit Hyperlink-Dokumentation meine ich die Verknüpfung mit externen Quellen (wie StackOverflow oder Wikipedia) und internen Dokumenten (dh einem Wiki in einer Subdomain, die auf die Dokumentation der Geschäftsanforderungen verweisen könnte) und anderen Quelldateien (ähnlich wie JavaDocs).
Verwandte Themen: Was ist mit der Abneigung gegen Dokumentation in der Branche?
Gson()
Objekt in Bezug auf die MainActivity-Klasse instanziiert wird und wie es sich auf die Lösung einer bestimmten Geschäftsanforderung bezieht. Die Beschreibung des Codes selbst und nicht der von ihm verwendeten APIs kann unabhängig von JavaDocs von Drittanbietern in einem separaten Fenster erfolgen.