Skip to content

Guia de estilo Backend

Valentina Zapata Grajales edited this page Oct 8, 2026 · 1 revision

Guía de Estilo y Calidad de Código (Backend)

Para evitar que el estilo del código dependa de criterios individuales, en el Back-end se automatiza la revisión y el formato utilizando dos herramientas clave del ecosistema NestJS / TypeScript: Prettier para la apariencia visual y ESLint para la calidad técnica y el cumplimiento de las reglas de arquitectura.


1. Prettier (Formateador Automático)

Prettier reescribe el código para mantener un estilo visual consistente (indentación, comillas, punto y coma y longitud de línea) sin alterar la lógica de negocio ni modificar el comportamiento de los endpoints.

  • Archivos soportados: Se aplica de forma global en todos los archivos TypeScript (.ts), archivos de configuración (.json) y documentación (.md) dentro del directorio backend/.
  • Configuración: Administrada mediante la configuración centralizada de formateo en el package.json / .prettierrc del backend, siendo de uso obligatorio para todo el equipo de desarrollo.
  • Comandos en la terminal (ejecutar dentro de backend/):
    • Para formatear todo el código del backend automáticamente:
      npm run format

2. ESLint (Linter de Calidad Técnica)

ESLint analiza el código de forma estática (sin necesidad de levantarlo o ejecutarlo) para detectar malas prácticas, código muerto, vulnerabilidades de tipado y asegurar que se cumplan los estándares arquitectónicos antes de subir cambios al repositorio.

  • Configuración: Las reglas se administran de forma centralizada en la configuración de ESLint del backend.
  • Reglas mínimas exigidas:
    • Prohibición estricta de any: Ninguna función, parámetro o retorno debe usar any (@typescript-eslint/no-explicit-any). Todo debe tiparse con DTOs, Entidades o interfaces.
    • Imports limpios y tipados: Prohibición de variables o importaciones no utilizadas (no-unused-vars) y uso obligatorio de import type para importaciones exclusivas de tipos.
    • Tipado estricto en controladores y servicios: Toda función asíncrona debe definir su retorno explícito con Promise<T>.
    • Comparación estricta: Uso obligatorio de igualdad estricta (=== y !==).
  • Comandos en la terminal (ejecutar dentro de backend/):
    • Para analizar y corregir automáticamente los problemas detectados por el linter:
      npm run lint

3. Orden Obligatorio de Ejecución antes de un Commit

Durante el desarrollo local, cada integrante puede trabajar libremente, pero antes de realizar un git push o abrir un Pull Request hacia la rama develop, se debe seguir estrictamente este flujo para asegurar la integridad de la base de código:

  1. Guardar todos los cambios en el editor de código.
  2. Abrir la terminal ubicada en la carpeta backend/.
  3. Ejecutar el análisis y corrección automática del linter:
    npm run lint

Clone this wiki locally