Automatizando los estandares de código
¿El software es arte o artesania?
¿El software que tu desarrollas es arte o artesania?
Este es un debate que no recuerdo donde lo leí pero una vez le consulte a mi sensei su opinión y en el modo mas sensei posible me revirtio la pregunta hacia mi.
El software que el hacia era artesania y arte y eso lo sabia.
Pero el estaba acostumbrado a trabajar de forma individual entonces tenia sus propios estandares de lo que producia.
Cuando trabajas en equipo debes seguir estandares para que puedas lograr las metas del proyecto porque esto posibilita que cualquiera pueda participar en cualquier pieza de código y también que sea más facil los procesos de revisión y analisis.
Hay dos cosas que puedes hacer para asegurar estos estandares, que por cierto no deben estar escritos en piedra sino ser dinamicos y adecuarse a los cambios de la industria:
Herramientas
- Herramientas para formatear el código y configurarlas para que se ejecuten cada que se crea un Pull Request, o se compila un proyecto.
- Herramientas de analisis de código estaticas para detectar anti-patrones y si se encuentra uno avisar.
- Herramientas de distintos tipos de tests como pruebas unitarias, pruebas de estres y E2E
Y sobre todo aprender a instalar, configurar y mantener estas herramientas tanto tu como tu equipo para aumentar el nivel de involucramiento de cada persona.
Documentación manual
Hay lenguajes que no tienen herramientas para hacer cada una de estas cosas o que por tiempo no vas a poder realizar, en esos casos trata de proveer documentación de como se debe formatear el código, hacer analisis manual en cada revisión y pruebas manuales. Mejor esto que no revisar para nada.