
Docstring
Ein Docstring ist ein kurzer Beschreibungstext, der direkt im Programmcode steht und erklärt, was ein bestimmter Abschnitt dieses Codes tut. Anders als eine normale Notiz am Rand bleibt er im fertigen Programm erhalten und kann von Werkzeugen und KI-Systemen ausgelesen werden.
Programme bestehen aus Anweisungen, die ein Computer Schritt für Schritt abarbeitet. Diese Anweisungen sind für Menschen oft schwer zu lesen. Deshalb schreiben Programmierer erklärende Texte dazu. Ein Docstring ist ein solcher Erklärtext, aber an einer festgelegten Stelle: direkt am Anfang eines abgegrenzten Bausteins des Programms. Ein solcher Baustein ist zum Beispiel eine Funktion, also ein benannter Abschnitt, der eine bestimmte Aufgabe erledigt. Der Docstring sagt in wenigen Sätzen, was dieser Abschnitt tut, was er an Angaben braucht und was er zurückliefert.
Warum Code ohne Beschreibung teuer wird
Software wird selten von einer einzigen Person geschrieben und dann nie wieder angefasst. Große Projekte laufen über Jahre, und die Leute wechseln. Wer ein halbes Jahr später in fremden Code schaut, versteht oft nicht mehr, warum etwas so gelöst wurde. Ein guter Docstring beantwortet diese Frage in zehn Sekunden. Ohne ihn muss man die Anweisungen Zeile für Zeile nachvollziehen.
Dazu kommt ein praktischer Vorteil. Aus Docstrings lässt sich automatisch eine Bedienungsanleitung erzeugen. Werkzeuge lesen alle Beschreibungstexte eines Projekts aus und bauen daraus eine durchsuchbare Webseite. Die Dokumentation großer Programmbibliotheken entsteht auf genau diesem Weg. Der Text wird also nur einmal geschrieben, aber an zwei Stellen genutzt.
Wichtig ist die Abgrenzung zum Kommentar. Ein Kommentar ist eine beliebige Notiz irgendwo im Code, die der Computer komplett ignoriert. Ein Docstring dagegen wird vom Programm mitgespeichert und ist zur Laufzeit abrufbar. Man kann ein laufendes Programm also fragen, was ein bestimmter Baustein tut, und bekommt den Docstring als Antwort.
Aufbau und typische Konventionen
Am bekanntesten ist der Docstring in der Programmiersprache Python. Dort schreibt man ihn als Text zwischen drei Anführungszeichen, direkt unter die erste Zeile einer Funktion. Die Sprache erkennt diese Position und speichert den Text automatisch mit. Andere Sprachen kennen ähnliche Formen, etwa Javadoc in Java oder besonders markierte Kommentarblöcke in JavaScript.
Der Inhalt folgt meist einem festen Muster. Die erste Zeile fasst den Zweck in einem einzigen Satz zusammen. Danach folgen die Eingabewerte, also die Angaben, die der Baustein von außen bekommt. Anschließend steht, was er als Ergebnis liefert. Oft wird noch aufgeführt, in welchen Fällen ein Fehler auftritt. Beispiel: « Berechnet die Mehrwertsteuer für einen Nettobetrag. Erwartet den Betrag als Zahl. Gibt den Steuerbetrag als Zahl zurück. »
Ein typischer Irrtum ist, im Docstring zu wiederholen, was ohnehin dasteht. Ein Text wie « Diese Funktion addiert a und b » über einer Funktion namens « addiere » bringt niemandem etwas. Nützlich sind Angaben, die man dem Code nicht ansieht: Einheiten, erlaubte Wertebereiche, Sonderfälle. Ebenso gefährlich sind veraltete Docstrings. Wird der Code geändert, die Beschreibung aber nicht, führt sie aktiv in die Irre.
Docstrings als Futter für KI-Assistenten
In den Nachrichten taucht der Begriff heute vor allem im Zusammenhang mit Programmierassistenten auf. Systeme wie GitHub Copilot schlagen beim Tippen den nächsten Codeabschnitt vor. Solche Assistenten wurden mit riesigen Mengen öffentlich verfügbaren Codes trainiert, Docstrings eingeschlossen. Sie haben dadurch gelernt, welche Beschreibung zu welcher Umsetzung passt.
Das funktioniert in beide Richtungen. Schreibt man zuerst einen Docstring, kann das Modell daraus einen passenden Codevorschlag erzeugen. Umgekehrt lässt sich zu vorhandenem Code eine Beschreibung generieren. Beides spart Zeit, ersetzt aber die Prüfung durch einen Menschen nicht. Ein erfundener Docstring klingt oft überzeugend, obwohl er den tatsächlichen Ablauf falsch wiedergibt.
Auch außerhalb der Programmierung spielt das Prinzip eine Rolle. Wenn ein KI-System externe Werkzeuge benutzen soll, etwa eine Wetterabfrage, braucht es eine Beschreibung dieses Werkzeugs. Diese Beschreibung ist häufig genau der Docstring der zugehörigen Funktion. Wie präzise er formuliert ist, entscheidet also mit darüber, ob das KI-System das richtige Werkzeug wählt.