Skip to main content

🛠️ Estilo de Programación

🌎 Desarrollado para ser Agnóstico a País y Marca

La aplicación está desarrollada de forma que sea agnóstica al país y marca. En los casos que son necesarios, se emplean patrones Strategy y Factory. De esta manera, se puede segregar e independizar la lógica de cada negocio, abstrayéndola en su propia estrategia. Esto permite una flexibilidad y escalabilidad significativas, ya que cualquier país o marca puede ser integrado sin afectar la lógica principal de la aplicación.

🔍 Acceso a Datos sin ORM

No se está empleando ningún ORM, por lo que todo el acceso a MongoDB está hecho con el propio driver de MongoDB. La justificación para esto es la siguiente:

  • Control Total sobre las Consultas: El uso directo del driver de MongoDB permite un control completo sobre las consultas y operaciones, optimizando el rendimiento y permitiendo ajustes finos que un ORM podría abstraer demasiado.
  • Rendimiento: Al evitar la sobrecarga que puede introducir un ORM, se consigue un mejor rendimiento, crucial para aplicaciones que requieren alta eficiencia y velocidad.
  • Flexibilidad: El acceso directo permite una mayor flexibilidad para manejar estructuras de datos complejas y dinámicas que pueden ser más complicadas de gestionar a través de un ORM.

🚫 Manejo de Errores Centralizado

El manejo de los errores en el backend está centralizado. Esto se logra mapeando los errores y generando excepciones correspondientes dependiendo del tipo de error. Los beneficios de este enfoque incluyen:

  • Consistencia: Garantiza que todos los errores se manejen de manera uniforme, proporcionando respuestas coherentes a las solicitudes fallidas.
  • Mantenibilidad: Facilita la identificación y corrección de errores, ya que todos los manejadores de errores están centralizados en un único módulo.
  • Transparencia: Proporciona una clara visibilidad sobre cómo se gestionan los errores dentro de la aplicación, facilitando el debugging y el soporte.

✨ Buenas Prácticas y Convenciones

Nombres de Variables y Funciones

  • Claros y Descriptivos: Los nombres de variables y funciones deben ser claros y descriptivos, indicando su propósito o contenido.
  • CamelCase: Se utiliza la notación CamelCase para nombres de variables y funciones en JavaScript y otros lenguajes similares.

Documentación del Código

  • Comentarios: El código debe estar adecuadamente comentado, explicando la lógica detrás de secciones complejas y cualquier decisión de diseño inusual.
  • JSDoc: Para funciones y métodos, se emplea JSDoc para generar documentación automáticamente, facilitando el entendimiento y la colaboración.

Estructura de los Archivos

  • Modularidad: El código está estructurado en módulos, cada uno encapsulando una funcionalidad específica. Esto facilita la reutilización y mantenibilidad del código.

🔍 Revisión y Control de Calidad del Código

  • Revisiones de Código: Todas las contribuciones al código deben pasar por revisiones de código (code reviews), asegurando que cumplen con los estándares de calidad y estilo definidos.

Este enfoque integral al estilo de programación asegura que la aplicación sea robusta, eficiente y fácil de mantener, permitiendo que se adapte rápidamente a las necesidades cambiantes del negocio y la tecnología.