SOOL CL1 Checklist de código - Solify-IT/psyche-ing GitHub Wiki

  • Arquitectura:
    • Se cumple con la regla de dependencias por capas establecidas en el manual de arquitectura.
    • Patrones de diseño son utilizados apropiadamente.
  • Casos especiales y límites:
    • El programa está protegido de overflows, underflows, y condiciones fuera de límites.
    • Todos los "edge cases" o casos especiales son atendidos.
    • Todas las condiciones "imposibles" son absolutamente imposibles.
  • Uso funcional:
    • Todos los endpoints están documentados en código o en algún documento.
    • Todas las implementaciones de abstracciones o interfaces están definidas.
  • Seguridad:
    • Todas las rutas privadas requieren autenticación.
    • El programa no revela información confidencial.
    • Llaves secretas son guardadas en variables de entorno y no en código.
  • Nombres:
    • Ningún nombre de variables, objetos, funciones, son una sola letra. Todos los nombres son claros y se explican solos.
    • El default export debe tener el mismo nombre del archivo en el que se encuentra escrito.
  • Estándares de código:
    • Todo el código debe estar en inglés con la única excepción de cadenas o información que sea visible por el socio formador.
    • Se sigue el estándar AirBnB y no existen errores de compilación por ESLint.
    • Todo los archivos son de tipo TypeScript para mantener consistencia.
  • Manejo de errores:
    • Cuando se llama una función asíncrona, siempre manejar un posible error.
    • El backend regresa errores descriptivos y únicos.
    • El frontend maneja y regresa retroalimentación al recibir errores de backend.
  • Estilo:
    • El frontend reutiliza componentes ya existentes con el mismo fin para cumplir con DRY.
    • Los estilos son extendidos de un estilo base/padre y se ajustan localmente en la vista si es necesario.
    • Se sigue la guía de estilo.
    • El frontend muestra retroalimentacion de que se están cargando o subiendo datos durante una llamada asíncrona.
  • Ortografía:
    • No existen errores ortográficos o gramaticales en las partes visibles por el socio formador.
  • Testing:
    • Las pruebas de regresión pasan correctamente.
    • Se tiene una cobertura de por lo menos 80% del código de la user story en pruebas automatizadas.