Ich fange mit Python an (es ist höchste Zeit, es auszuprobieren) und suche nach Best Practices.
Mein erstes Projekt ist eine Warteschlange, in der Befehlszeilenexperimente in mehreren Threads ausgeführt werden. Ich fange an, eine sehr lange main.py
Datei zu bekommen , und ich möchte sie auflösen. Im Allgemeinen suche ich nach: Wie organisieren Python-Programmierer mehrere Quelldateien? Gibt es eine bestimmte Struktur, die für Sie funktioniert?
Meine spezifischen Fragen umfassen:
- Sollte sich jede Klasse in einer separaten Datei befinden?
- Wie soll ich Unit-Tests in Bezug auf den Quellcode organisieren?
- Wo soll ich Dokumentkommentare ablegen, insbesondere für den Befehlszeilenbetrieb?
- Wie importiere ich Klassen zwischen diesen, wenn ich mehrere Verzeichnisse verwende?
Ich kann hier wahrscheinlich durch Versuch und Irrtum einige meiner eigenen Schlussfolgerungen ziehen, aber ich würde lieber von etwas Gutem ausgehen .
python
unit-testing
code-organization
Andres Jaan Tack
quelle
quelle
Antworten:
Der Artikel, auf den Eric hingewiesen hat , ist fantastisch, da er Details zum Organisieren großer Python-Codebasen enthält.
Wenn Sie von Google hier gelandet sind und herausfinden möchten, wie Sie eine große Quelldatei in mehrere, besser verwaltbare Dateien aufteilen können, fasse ich den Vorgang kurz zusammen.
Angenommen, Sie haben derzeit alles in einer Datei mit dem Namen
main.py
:utils.py
für dieses Beispiel).main.py
inutils.py
main.py
hinzufügen an der Spitze eine einzige Zeile:import utils
Konzeptionell wird dabei ein neues Modul erstellt, das
utils
in einer anderen Quelldatei aufgerufen wird . Sie können es dann überall dort importieren, wo es benötigt wird.quelle
Die Art und Weise, wie Sie Ihren Code und Ihre Tests organisieren sollten, ist genau die gleiche wie für jede OO-Sprache.
Antworten von der Art, wie ich es mache. Es mag nicht richtig sein, funktioniert aber für mich
__init__.py
Dateien in den Ordnern befinden. Es ist nur ein einfacher Fall vonfrom module import class
quelle