Freigabe eines Python-Pakets - sollten Sie doc und tests hinzufügen?

8

Also, ich habe eine kleine Bibliothek über Pypi veröffentlicht, mehr als eine Übung (um zu sehen, wie es gemacht wird) als alles andere.

Ich habe die Dokumentation über readthedocs hochgeladen, und ich habe eine Testsuite in meinem git repo.

Da ich denke, dass jeder, der daran interessiert ist, den Test zu starten, wahrscheinlich nur das Repo klonen wird und das Dokument bereits online verfügbar ist, habe ich beschlossen, die Dokument- und Testverzeichnisse nicht in das veröffentlichte Paket aufzunehmen, und ich habe mich nur gefragt wenn das die "richtige" Sache wäre.

Ich weiß, dass die Antworten auf diese Frage eher subjektiv sein werden, aber ich hielt es für einen guten Ort, um zu fragen, was die Gemeinschaft als die beste Praxis ansieht.

    
astrognocci 15.07.2013, 23:01
quelle

1 Antwort

5

Es ist nicht erforderlich, aber es wird empfohlen, sowohl Dokumentation als auch Komponententests in das Paket aufzunehmen.

Zur Dokumentation:

Old-fashioned oder besser zu sagen, dass Quelltexte der Open-Source-Software der alten Schule Dokumentation enthalten, ist dies ein (De-facto?) Standard (schauen Sie sich zum Beispiel GNU-Software an). Die Dokumentation ist Teil des Codes und sollte Teil der Freigabe sein, einfach weil Sie nach dem Download der Quellversion unabhängig sind. Warst du jemals in der Situation, in der du irgendwo in einem Zug warst, wo du einen schnellen Blick in die Dokumentation von Modul X werfen musstest, aber keinen Internetzugang hast? Und dann haben Sie erleichtert festgestellt, dass die Dokumente bereits vor Ort sind.

Ein weiterer wichtiger Punkt in diesem Zusammenhang ist, dass die Dokumentation, die Sie zusammen mit dem Code verwenden, sicher für die Codeversion gilt. Code und Dokumente sind synchronisiert.

Eine weitere Sache, besonders in Bezug auf Python: Sie können Ihre Dokumente mit Sphinx schreiben und dann schöne HTML-Ausgabe basierend auf der Dokumentationsquelle während der Installation des Pakets erstellen. Ich habe verschiedene Python-Pakete gesehen, die genau dies tun.

In Bezug auf Tests:

Stellen Sie sich vor, die Tests sind in der Quellversion enthalten und können leicht vom Benutzer ausgeführt werden (Sie sollten dies dokumentieren). Wenn der Benutzer dann ein Problem mit Ihrem Code bemerkt, das nicht so leicht zu finden ist, kann er einfach die Unit-Tests in seiner Umgebung ausführen und sehen, ob zumindest diese übergeben werden. Wenn nicht, haben Sie wahrscheinlich eine falsche Annahme gemacht, wenn Sie das Verhalten Ihres Codes angeben, was gut zu wissen ist. Was ich sagen möchte, ist: Es kann sehr gut für Sie als Entwickler sein, wenn Sie es sehr einfach machen, Unit-Tests durchzuführen.

    
Jan-Philip Gehrcke 18.07.2013 11:37
quelle

Tags und Links