Pregunta

Aquí está la situación: la empresa que estoy trabajando en este momento me dio la libertad de trabajar con Java o Python para desarrollar mis aplicaciones. La compañía cuenta con experiencia principalmente en Java.

he decidido ir con pitón, para que donde muy feliz para preguntarme para dar mantenimiento a todos los proyectos de pitón / scripts relacionados con el mantenimiento de bases de datos que tienen.

No es tan malo para manejar todas esas cosas y su tipo de diversión para ver la cantidad de tiempo libre que tiene en comparación con los programadores de Java. Sólo hay un pero, el diseño de los proyectos es un desastre.

Hay muchos guiones que simplemente ponen en máquinas virtuales toda la empresa. Algunos de ellos tienen una funcionalidad compleja que se extiende por unos módulos (4 como máximo.)

Mientras que el pensamiento al respecto de ello, me di cuenta de que yo no sé cómo a la dirección que, así que aquí están 3 preguntas.

  • ¿Dónde pongo procesos independientes? Utilizamos GIT como nuestro sistema de control de versiones.
  • ¿Cómo estructurar el diseño del proyecto de manera que el usuario no tiene que cavar profundamente en las carpetas para ejecutar los programas (en Java que he creado un frasco o una jarra y un script de shell para manejar algunas operaciones de rutina de carga.)
  • ¿Qué es una forma estándar para crear módulos que permiten una fácil reutilización (mycompany.myapp.mymodule?)
¿Fue útil?

Solución

  

¿Dónde puedo poner independientes guiones?

organizarlos "funcionalmente" -. Basadas en lo que hacen y por qué la gente los usa

El lenguaje (Python vs Java) es irrelevante.

Hay que pensar en guiones como pequeñas aplicaciones se centraron en alguna necesidad y crear estructuras de directorios apropiados para esa aplicación.

Utilizamos /opt/thisapp y /opt/thatapp. Si quieres un compartido de punto de montaje, es posible utilizar una ruta diferente.

  

¿Cómo estructurar el diseño del proyecto de manera que el usuario no tiene que cavar profundamente en las carpetas para ejecutar los programas

organizarlos "funcionalmente" - sobre la base de lo que hacen y por qué la gente los usa. En el nivel superior de un directorio /opt/thisapp, que puede tener una __init__.py (porque es un paquete) y quizás un guión main.py que comienza el verdadero trabajo.

En Python 2.7 y Python 3, que tiene el módulo runpy. Con esto, se nombre a su De nivel superior principal __main__.py guión

http://docs.python.org/library/runpy.html # módulo de runpy

  

¿Qué es una forma estándar para crear módulos que permiten una fácil reutilización (mycompany.myapp.mymodule?)

Lea sobre packages. http://docs.python.org/tutorial/modules.html#packages

Otros consejos

paquete es una forma de la creación de una jerarquía módulo: si haces un archivo llamado __init__.py en un directorio, Python tratará a ese directorio como un paquete y permitirá importar su contenido utilizando las importaciones de puntos:

spam \
       __init__.py
       ham.py
       eggs.py

import spam.ham

Los módulos dentro de un paquete puede hacer referencia a uno al otro -. Ver los docs

Si estos son todos los scripts de mantenimiento de base de datos, me gustaría hacer un paquete llamado DB o algo así, y ponerlas a todas en el mismo. Usted puede tener sub-paquetes para las más complicadas queridos. Así que si había un guión para, no sé, la limpieza de los registros de transacciones, se puede poner en ourDB.clean y hacer

import ourDB.clean
ourDB.clean.transaction_logs( )
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top