Propósito
Establecer buenas prácticas que complementen las reglas de formato, nomenclatura, estructura y comentarios, con el fin de garantizar que el código del proyecto SIGIC sea comprensible, mantenible, escalable, seguro, eficiente, probado y coherente.
Convenciones
Código ordenado y confiable
- Un código limpio, consistente y bien documentado es más fácil de mantener y menos propenso a errores.
Evita la repetición innecesaria
- Repetir código aumenta la probabilidad de errores y dificulta las actualizaciones o cambios futuros.
Responsabilidad única por componente
- Cada clase, módulo o función debe tener una única función clara dentro del sistema.
Escribe para el equipo, no solo para ti
- El código debe poder ser entendido por cualquier persona que lo lea, ahora o en el futuro.
Buenas prácticas
Recomendación | Descripción |
---|---|
Funciones pequeñas | Cada función debe cumplir una única tarea de forma clara y específica. |
Validación de datos | Nunca dar por hecho que la entrada es válida; válida siempre antes de procesar. |
Manejo explícito de errores | Los errores deben gestionarse de forma clara y visible, sin ocultarlos ni ignorarlos. |
Evitar variables globales | Divide el código en partes independientes, reutilizables y fáciles de mantener. |
Modularidad | Limita el alcance de las variables para evitar efectos colaterales no deseados. |
Pruebas automáticas | Implementar pruebas unitarias o funcionales para asegurar el comportamiento esperado. |
Código sin dejar basura | Elimina fragmentos de código no utilizados, pruebas temporales y comentarios obsoletos. |
Seguridad y robustez
- Nunca expongas contraseñas, tokens o claves en el código.
- Usa variables de entorno o archivos de configuración fuera del código fuente.
- No asumas que los datos del usuario son correctos.
- Considera errores externos (API fallida, archivo corrupto, red caída).
Pruebas y control de calidad
- Toda lógica importante debe tener pruebas unitarias o funcionales.
- Las pruebas deben estar en archivos separados y estructurados.
- Los nombres de pruebas deben indicar qué se está verificando.
- Todo el equipo debe poder ejecutar las pruebas.
- No se permite pasar código a producción sin pruebas básicas si el módulo lo requiere.
Responsabilidad compartida
Las buenas prácticas no son opcionales. Todo el equipo es responsable de:
- Aplicarlas en su código.
- Reportar y corregir desviaciones en revisiones de código.
- Mejorarlas si el contexto lo justifica, pero nunca ignorarlas.
Aplicación conforme al lenguaje
Estas prácticas son sugeridas y se espera que sean aplicables a cualquier lenguaje o paradigma de programación. Una vez definido el stack tecnológico del proyecto SIGIC, deberán complementarse con el uso de herramientas específicas como linters, frameworks de pruebas, validadores o analizadores estáticos, entre otros. Es requisito que estas prácticas se apliquen en conjunto con las guías de estilo oficiales recomendadas en este estándar, las cuales son de uso obligatorio para todos los módulos del proyecto.