drupal 7 – Cuando utilizo funciones para administrar la implementación, ¿debo dividir mi funcionalidad en muchas funciones pequeñas o una función grande?

Pregunta:

Soy relativamente nuevo en el módulo de características y he leído recomendaciones contradictorias en línea sobre si es más fácil mantener A) una característica grande o B) varias características más pequeñas y luego un módulo de tipo " controlador de características " que enumera todas las características más pequeñas como dependencias.

Un poco sobre mi situación específica: estoy usando un local development -> dev server -> staging server -> live server flujo de trabajo del local development -> dev server -> staging server -> live server . Es casi seguro que este sitio en particular será el único de su tipo que desarrolle; No pretendo utilizar las features que creo para este sitio en ningún otro sitio.

Esto me hace inclinarme a hacer todo en una función grande porque tuve problemas en el pasado en los que accidentalmente definí las mismas reglas en varias funciones y me metí en problemas. Sin embargo, en términos de estructura, esto me parece incorrecto: hay diferentes características / funciones, por lo que deberían dividirse en características separadas. Por otro lado, siento que al hacer esto puedo crear trabajo adicional y gastos generales para mí que no beneficiarán a nadie.

¿Qué enfoque es más fácil de mantener en la práctica: una característica importante o muchas más pequeñas?

Respuesta:

Cree varias entidades pequeñas, divididas por capa conceptual .

Ventajas:

  1. Granularidad al revisar anulaciones y realizar reversiones, por lo que no tiene que revertir todo a la vez.
  2. Modularidad: incluso si no planea reutilizar componentes individuales, dividir las cosas en módulos discretos ayudará con el mantenimiento.

Para implementar un solo sitio desde el desarrollo hasta la prueba y la producción, usamos la siguiente taxonomía (donde "sitio" se reemplaza con un nombre de máquina único para el sitio):

  • Característica site_types : declara tipos de contenido, campos, configuración de ImageCache, roles de usuario
  • Característica site_structure : declara contextos, vistas, menús y enlaces de menú , bloques, permisos de usuario, variables
    • depende de la función site_types
  • Característica site_content : declara nodos
    • depende de la característica site_structure

Si hay varias secciones distintas del sitio (por ejemplo, pública frente a privada), considere dividir las cosas aún más:

  • Característica site_types
  • Característica site_structure : declara los componentes estructurales comunes tanto a los públicos como a los privados
    • depende de la función site_types
  • Característica site_public_structure
    • depende de la función site_types
  • Función site_public_content
    • depende de la característica site_public_structure
  • Característica site_private_structure
    • depende de la función site_types
  • Característica site_private_content
    • depende de la característica site_private_structure

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım