Die Entwicklung einer Forschungssoftware soll angemessen dokumentiert werden. Entwickler:innen sollen ihren Code von Anfang an dokumentieren (z. B. Funktionen beschreiben). Neben der Code-Dokumentation sind folgende Arten von Dokumentationen wesentlich:
eine grundlegende Beschreibung der Ziele und Funktionen der Software
die Erfassung von (standardisierten) Metadaten zur Software
ein Nutzerhandbuch und Einstiegs-Tutorial
ein Entwicklerhandbuch und Installationshinweise
die Dokumentation von Dependencies
Umsetzung
Ausführliche Dokumentation und Beschreibung der Software
Erstellung von (standardisierten) Dokumenten wie README, CONTRIBUTING, LICENSE
Code-Dokumentation je nach Programmiersprache mit Frameworks wie Doxygen, JavaDoc, pydoc
Dokumentation kann u. a. mit KI-Unterstützung generiert werden.
Durch den Einsatz von KI sinkt der Aufwand, Code zu modernisieren und anzupassen. Indem der Code so besser ersetzbar wird, steigt die Bedeutung von Dokumentation, die von der KI für das Generieren von Code einbezogen werden kann.
Checks können überprüfen, ob Dokumentation existiert, jedoch nicht deren Qualität beurteilen.
Bei Standardfunktionalitäten kann KI gut für die Generierung der Dokumentation aus dem Code eingesetzt werden.
Dabei lässt sich jedoch nicht die Motivation für die verschiedenen Komponenten des Source Codes rekonstruieren. Daher müssen Hintergründe und Motive explizit formuliert werden. Besonders Nichtstandardfunktionalitäten müssen ausführlich dokumentiert werden.
Da die KI-gestützte Erstellung der Dokumentation ressourcenintensiv ist, empfiehlt es sich, diese einmalig als Standarddokumentation zu erzeugen.