Domanda

Ecco la situazione: l'azienda che sto lavorando in questo momento mi ha dato la libertà di lavorare sia con Java o Python per sviluppare le mie applicazioni. L'azienda ha esperienza soprattutto in Java.

ho deciso di andare con Python, in modo che dove molto felice per chiedermi di dare la manutenzione a tutti i progetti di pitone / scripts legati alla manutenzione del database che essi hanno.

La sua non è poi così male per gestire tutta quella roba e il suo tipo di divertimento per vedere quanto tempo libero che ho rispetto ai programmatori Java. C'è solo uno, ma, il layout dei progetti è un pasticcio.

Ci sono molti script che semplicemente si trovavano in macchine virtuali in tutto l'azienda. Alcuni di loro hanno funzionalità complesse che si sviluppa attraverso alcuni moduli (4 al massimo).

Mentre il pensiero a questo proposito a questo proposito, mi sono reso conto che io non so come indirizzo, per cui qui sono 3 domande.

  • Dove metto script locali? Usiamo git come il nostro sistema di controllo delle versioni.
  • Come strutturare il layout del progetto in modo che l'utente non ha bisogno di scavare in profondità le cartelle per eseguire i programmi (in Java ho creato un vaso o un vaso e uno script di shell per gestire alcune operazioni bootstrap.)
  • Che cosa è un modo standard per creare i moduli che permettono un facile riutilizzo (mycompany.myapp.mymodule?)
È stato utile?

Soluzione

  

Dove metto standalone script?

È organizzarle "funzionalmente" -. Sulla base ciò che fanno e perché la gente li usa

Il linguaggio (Python contro Java) è irrilevante.

Si deve pensare di script come piccole applicazioni focalizzati su alcune necessità e creare adeguate strutture di directory per l'applicazione.

Usiamo /opt/thisapp e /opt/thatapp. Se si desidera un condiviso mount-point, è possibile utilizzare un percorso diverso.

  

Come strutturare il layout del progetto in modo che l'utente non ha bisogno di scavare in profondità le cartelle per eseguire i programmi

organizzare loro "funzionalmente" - sulla base di ciò che fanno e perché la gente li usano. Al livello superiore di una directory /opt/thisapp, si potrebbe avere un __init__.py (perché è un pacchetto) e, forse, uno script main.py che inizia il vero lavoro.

In Python 2.7 e Python 3, si ha il modulo runpy. Con questo si dovrebbe assegnare un nome al -Alto livello principale sceneggiatura __main__.py

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

  

Che cosa è un modo standard per creare i moduli che permettono un facile riutilizzo (mycompany.myapp.mymodule?)

Leggi su packages. http://docs.python.org/tutorial/modules.html#packages

Altri suggerimenti

Un pacchetto è un modo di la creazione di una gerarchia modulo: se fai un file chiamato __init__.py in una directory, Python tratterà quella directory come un pacchetto e permette di importare i propri contenuti utilizzando le importazioni tratteggiate:

spam \
       __init__.py
       ham.py
       eggs.py

import spam.ham

I moduli all'interno di un pacchetto può fare riferimento a vicenda -. Vedere i documenti

Se questi sono tutti gli script di manutenzione DB, vorrei fare un pacchetto chiamato DB o qualcosa, e tutti loro posto in esso. Si possono avere sottopacchetti per quelli più complicati. Quindi, se si ha un copione per, non so, ripulire i registri delle transazioni, si potrebbe mettere in ourDB.clean e fare

import ourDB.clean
ourDB.clean.transaction_logs( )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top