Frage

Hier ist die Situation: das Unternehmen, dass ich arbeite in Recht hat mir jetzt die Freiheit, Arbeit mit Java oder Python meine Anwendungen zu entwickeln. Das Unternehmen hat Erfahrung vor allem in Java.

Ich habe beschlossen, mit Python zu gehen, so dass sie, wo sehr glücklich, mich zu fragen, Wartung, um alle Python-Projekte / Skripte in die Pflege der Datenbank mit Bezug zu geben, die sie haben.

Es ist nicht so schlimm alles zu handhaben, dass Sachen und seine Art von Spaß zu sehen, wie viel freie Zeit, die ich zu Java-Programmierer verglichen habe. Es gibt nur einen, sondern die Projekte Layout ein Chaos ist.

Es gibt viele Skripte, die einfach in der virtuellen Maschinen liegen in der ganzen Gesellschaft. Einige von ihnen haben komplexe Funktionalität, die verteilt auf einige Module (4 maximal.)

Während darüber nachzudenken darüber, erkannte ich, dass ich weiß nicht, wie Adresse, dass, so sind hier drei Fragen.

  • Wo finde ich eigenständigen Skripte setzen? Wir verwenden git als unser Versionierungssystem.
  • Wie das Projektes Layout in einer Art und Weise strukturieren, dass der Anwender nicht tief graben müssen, um in den Ordner, um die Programme auszuführen (in Java hat ich ein Glas oder ein Glas und einen Shell-Skript einige Bootstrap-Operationen zu behandeln.)
  • Was ist eine Standardmethode Module zu schaffen, die leicht Wiederverwertbarkeit erlauben (mycompany.myapp.mymodule?)
War es hilfreich?

Lösung

  

Wo platziere ich eigenständige Skripte?

Sie organisieren sie „funktional.“ - auf das, was sie tun und warum die Menschen sie benutzen

Die Sprache (Python vs. Java) ist irrelevant.

Sie haben von Skripten zu denken, wie kleine Anwendungen, die auf einem gewissen Bedarf konzentriert und für die jeweilige Anwendung geeignete Verzeichnisstrukturen erstellen.

Wir verwenden /opt/thisapp und /opt/thatapp. Wenn Sie einen Mount-Punkt geteilt, können Sie einen anderen Pfad verwenden.

  

Wie das Projektes Layout in einer Art und Weise strukturieren, dass der Anwender nicht tief graben müssen, um in den Ordner, um die Programme auszuführen

Sie organisieren sie „funktionell“ - auf das, was sie tun und warum die Menschen sie benutzen. Auf der obersten Ebene eines /opt/thisapp Verzeichnis, können Sie eine __init__.py haben (weil es ein Paket ist) und vielleicht ein main.py Skript, das die eigentliche Arbeit beginnt.

In Python 2.7 und Python 3 haben Sie die runpy Modul. Damit würden Sie nennen Ihre Top-Level-Hauptskript __main__.py

http://docs.python.org/library/runpy.html # Modul-runpy

  

Was ist eine Standardmethode Module zu schaffen, die leicht Wiederverwertbarkeit erlauben (mycompany.myapp.mymodule?)

Lesen Sie mehr über packages. http://docs.python.org/tutorial/modules.html#packages

Andere Tipps

Paket ist eine Möglichkeit, eine Modulhierarchie erstellen: wenn Sie eine Datei namens __init__.py in einem Verzeichnis machen, Python wird dieses Verzeichnis als Paket behandeln und lassen Sie den Inhalt mit gepunkteten Importen importieren:

spam \
       __init__.py
       ham.py
       eggs.py

import spam.ham

Die Module in einem Paket können sich gegenseitig referenzieren - vgl. Die Dokumentation

Wenn diese sind alle Wartungsskripte DB, würde ich ein Paket machen namens DB oder so etwas, und legen Sie sie alle in ihm. Sie können Subpackages für die komplizierteren haben. Also, wenn Sie für ein Skript haben, weiß ich nicht, die Transaktionsprotokoll Reinigung, können Sie es in ourDB.clean setzen könnten und tun

import ourDB.clean
ourDB.clean.transaction_logs( )
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top