2012-05-27 14 views
7

Hasta la fecha había estado desarrollando solo pequeñas secuencias de comandos de Python. No tenían más de 500 líneas por cada uno. Ahora voy a escribir algo más grande, creo que tendrá alrededor de 1000 líneas. ¿Es buena idea manejarlo en un archivo o es un buen momento para organizar el código en subdirectorios? Encontré algunos consejos sobre cómo modularizar el código, pero no puedo encontrar información sobre cuándo hacerlo (o más bien si no es una pérdida de tiempo).¿Cuándo dividir código en archivos/módulos?

+1

En general, opto por la separación de las preocupaciones. Realice tareas similares juntas, como recuperar datos de db, realizar operaciones de fecha. Haga que estos sean lo suficientemente generales como para ser utilizados en su próximo proyecto. – Sujoy

Respuesta

8

por lo general lo hace debajo de estas circunstancias:

  • podría ejecutar partes de la aplicación en thir propia y corriendo ellos sería útil (para que pudieran ser reutilizados)
  • Una parte de la aplicación es resumen y el resto es concreto (las partes abstractas podrían reutilizarse)
  • Quiero dividirlo en 'complementos'
  • Un solo script sería increíblemente grande (entonces lo dividiría por clase, por ejemplo, o pondría los unittest en un archivo separado archivo).

En general trato de ir para la reutilización. Si no puedo dividirlo en partes reutilizables, no me divido, salvo que sería demasiado grande.

+2

+1, buena respuesta. solo unittests _always_ pertenecen a su propio archivo imho. – mata

+0

¿Y qué quiere decir con "increíblemente grande"? ¿Son suficientes 1000 líneas? – ciembor

+3

@ciembor - Creo que "increíblemente grande" significa "lo suficientemente grande como para que te resulte molesto navegar", lo que depende de tus preferencias personales. Para mí, el número de líneas no es realmente una buena medida, ya que mantengo todo doblado de todos modos, pero si un archivo termina con, digamos, más de 15-20 clases/funciones de nivel superior, empiezo a considerar dividirlo. – weronika

Cuestiones relacionadas