Programadores y estudiantes de tecnología se capacitaron en Clean Code y Refactoring con Kaizen a través de un nuevo Tech Training.
Se realizó el quinto Tech Training del año, iniciativa de www.smarttalent.uy que promueve la capacitación en tecnología para usuarios del portal mediante el trabajo mano a mano con empresas del sector. En esta ocasión fue el turno de Kaizen Softworks, compañía que desde 2014 trabaja para pequeños y medianos clientes del mercado estadounidense siempre con procesos basados en metodologías ágiles. Su equipo desarrolla sobre Angular, React y .NET, y trabaja en Machine Learning, Big Data y Artificial Intelligence.
Fabián Fernández, CEO y fundador de la empresa, recibió a los invitados en sus oficinas del barrio La Blanqueada acompañado de Bruno Bologna y Pablo Marcano, que fueron los encargados de llevar adelante la capacitación centrada en Clean Code y Refactoring.
“¿Cómo puedo mejorar el código que estoy haciendo mal?”, fue la pregunta disparadora de la actividad. Como la programación informática es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales, necesitamos que este último esté escrito lo mejor posible. Un código mal escrito lleva a perder tiempo, se hace difícil de entender, afecta al programador y al cliente, e incluso puede hacernos replicar la lógica incorrecta para resolver bugs. “Leemos casi diez veces más código del que escribimos”, comentó Bruno.
Sin embargo, hay algunos momentos en los que podemos permitirnos utilizar código de baja calidad. Estos son los MVP (Minimum Viable Product), casos donde realizamos un producto para salir al mercado cuanto antes invirtiendo lo mínimo posible con el fin de validar una idea. Los especialistas dieron algunos piques para tener un código limpio: usar naming, evitar desinformación, usar nombres pronunciables y prefijos. Es ideal poder "dejarlo más limpio de lo que lo encontramos", tal como dice la regla de los Boy Scouts.
En cuanto a Refactoring, Bruno y Pablo introdujeron el concepto de Interface Segregation Principle, que propone que, cuando queramos crear abstracciones, consideremos la visibilidad y el ciclo de vida de esa abstracción. “Evitemos saturar interfaces. Promovamos la diversidad de abstracciones pensando en la relación que tiene una clase con su entorno”, recomendaron.
También mencionaron la inversión de dependencia, una técnica por la cual componentes que dependen directamente de otro, pasan a depender de una abstracción de este componente. Se utiliza con las formas de Service Locator (cuando aún es responsable de obtener sus dependencias) y Dependency Injection (cuando expone dependencias en el constructor).
Sobre los patrones, los especialistas de Kaizen explicaron por qué los necesitamos: son una consecuencia del Clean Code, se han llegado a crear abstracciones a problemas comunes, y se les atribuyen nombres a estas soluciones para que la comunidad de desarrolladores de software tenga un lenguaje común en el cual comunicarse.
¿Te interesan los Tech Training? Conocé la agenda y anotate a los próximos aquí.