Docstrings - one-line-vs multiple-line
Ich bin hinzufügen einige (epydoc) Dokumentation zu einem Paket, das ich geschrieben habe, und ich komme auf eine Vielzahl von Fällen, in denen ich wiederhole mich eine Vielzahl von Zeiten.
def script_running(self, script):
"""Return if script is running
@param script: Script to check whether running
@return: B{True} if script is running, B{False} otherwise
@rtype: C{bool}
"""
PEP257 sagt, dass:
One-Liner sind für die wirklich offensichtlichen Fällen.
und auch
Den docstring für eine Funktion oder Methode zusammenfassen sollte sein Verhalten und belegen Ihre Argumente, Rückgabewert(s), Nebenwirkungen, Ausnahmen und Beschränkungen auf, wenn es aufgerufen werden kann (alle sofern zutreffend).
Gibt es da eine Allgemeine Richtlinie oder standard-Praxis für, wenn zu zeichnen die Linie zwischen einem ein-Zeiler (Beschreibung) und full-param/return-Felder?
Oder bei der Erstellung von Dokumentationen, soll ich auch jeden anwendbar-Feld für jede Funktion, unabhängig davon, wie repetitive es scheint?
Bonus-Frage: Syntaktisch, was ist der beste Weg zu beschreiben, der script
param?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Allgemeine Leitlinie, die Sie suchen, ist direkt in PEP257 in dem, was du zitiert hast, vielleicht brauchen Sie nur, um ihn in Aktion zu sehen.
Ihre Funktion ist ein guter Kandidat für eine Online-docstring ("wirklich offensichtlichen Fällen"):
In der Regel, wenn Sie sagen, dass eine Funktion wird geprüft, was es bedeutet, dass es zurück
True
oderFalse
, aber wenn du möchtest, könnte spezifischer sein:Wieder alles in einer Zeile.
Ich würde wahrscheinlich auch ändern Sie den Namen der Funktion, denn es gibt keine Notwendigkeit zu betonen, auf was die Funktion arbeitet in seinem Namen (ein Skript). Ein Funktionsname sollte etwas süß, kurz und prägnant über das, was die Funktion tut. Wahrscheinlich geh ich mit:
Manchmal die Funktion-name-Phantasie ist müde von all der Kodierung, aber man sollte trotzdem versuchen, Ihr bestes zu tun.
Für ein mehrzeiliges Beispiel, lassen Sie mich ausleihen einen docstring aus der google Richtlinien:
Dies ein Weg sein könnte, um "zusammenfassen, dessen Verhalten und belegen Ihre Argumente, Rückgabewert(s), Nebenwirkungen, Ausnahmen und Beschränkungen auf, wenn es aufgerufen werden kann (wenn zutreffend)".
Das könnte Sie auch interessieren Blick auf diese Beispiel für die pypi-Projekt, dass es soll dokumentiert werden, mit Sphinx.
Meine 2 Cent: Richtlinien sind gedacht, um Ihnen eine Idee geben, über das, was Sie sollten und nicht tun sollten, aber Sie keine strengen Regeln, dass Sie blind Folgen. Also am Ende wählen, was Sie fühlen, besser zu sein.
Möchte ich klar etwas, was ist gesagt worden, in einem anderen die Antwort zu schlagen, die Maximale Leitungslänge mit einem docstring.
PEP8 sagt, dass Sie "Limit alle Zeilen auf maximal 79 Zeichen" auch wenn am Ende jeder macht 80.
Diese sind 80 charachters:
Und dies kann eine Kante Fall, wo ein etwas langer Satz ist alles, was Sie wirklich brauchen:
Ist wie ein one-line-docstring, was bedeutet, dass ist bei wirklich offensichtlichen Fällen, aber auf deinen editor (mit 80 charachter limit) ist auf mehreren Linien.
Ich denke, es gibt wahrscheinlich immer einige Grad an Wiederholung dabei, wenn das hinzufügen erweiterter syntax für docstrings, d.h. epydoc/sphinx-markup.
Ich würde auch sagen, diese Sache ist subjektiv rahter als Ziel. Explizit ist besser als implizit vorhanden ist, und scheint zu Folgen, das Zen of Python mehr.