Nach dem Schreiben ein paar Python Appengine-Anwendungen finde ich mich hin- und hergerissen zwischen zwei Ansätze zur Organisation meiner Quellcode-Baum: weit oder tief.Quellcode Bäume: weit oder tief
Für Konkretheit, betrachten Sie eine interne Anwendung für ein kleines Beratungsgeschäft, um Geschäftsvorgänge wie Kontaktmanagement, Projektverfolgung & Berichterstattung und Mitarbeitermanagement zu verwalten. Die Anwendung kann Schlüsselelemente wie Unternehmen, Benutzer, Kontakte, Kunden, Projekte, Arbeitszeittabellen usw. verwenden. Ohne ins Detail zu gehen, kann man sich vorstellen, dass diese Modelle die Funktionen der Website übergreifen. Dies bedeutet wahrscheinlich, dass es eine Kopplung gibt.
In diesem Beispiel ist es bevorzugt, in einem Tief Weise zu organisieren, zB:
models/
people.py
accounting.py
projects.py
foo.py
controllers/
reporting.py
employeeops.py
accounting.py
crm.py
views/
...
oder eine weit Weise, beispielsweise durch "Anwendung":
people/
models/
views/
controllers/
contact-mgmt/
models/
views/
controllers/
time-tracking/
models/
views/
controllers/
project-reporting/
models/
views/
controllers/
Ich weiß, Jedes Design beinhaltet Trade-Offs. Wenn Sie also reagieren, können Sie Ihre Präferenz und Argumentation angeben (z. B. Annahmen, modulierende Bedenken, Rahmenbeschränkungen, Skalierbarkeitsprobleme, Überlegungen zur Codepflege, Auswirkungen der Struktur des Entwicklungsteams usw.).
Ich würde keine dieser Optionen "weit" oder "tief" nennen, da Sie am Ende zwei Ebenen der Verschachtelung haben. –