5 abril
Por Carlos Bucheli - Developer en DataArt
Clean Code
El código tiene un alto impacto en la calidad de un proyecto y en los resultados del mismo. Por ello, nos preocupamos por que el código de nuestras aplicaciones tenga un alto grado de calidad y que sea E3 (Eficaz, Eficiente y Efectivo).

Algunos síntomas

En muchas ocasiones, es posible identificar fácilmente cuando la complejidad del código sobrepasa la complejidad de la lógica de negocio. Esto nos brinda una pauta para identificar cuellos de botella o puntos de mejora para nuestro código y aplicaciones.

Existen muchos enredos, nudos y “giros de tuerca” que hay que entender para realizar cambios y nuevas funcionalidades. Cada cambio hace que se rompan 2 o 3 otras partes del código. Otros cambios se deben implementar en varios módulos y librerías.

Pensamos que tod@s (si no la mayoría) hemos vivido esa amarga experiencia de recibir un codebase gigantesco y desordenado. También hemos visto o leído en libros/artículos sobre proyectos/empresas que quebraron debido al mal código.

El código sucio nos limita

Esto es algo que los programadores con experiencia conocemos bien, sin embargo, es importante aclararlo para el entendimiento de otras áreas, especialmente Project Managers y niveles gerenciales.

Recordemos que en muchas ocasiones debemos realizar estimaciones sin conocer el 100% del código que llega a nuestras manos, así, cuando nos encontramos con pitfalls; inadvertidamente podemos empezar a desbalancear valores tales como tiempo o esfuerzo, el grado de calidad o el alcance del proyecto/fase así como los costos del mismo. Los PMs seguramente conocen esto como la triple restricción, hoy por hoy se utilizan hasta 6 restricciones.

Es común que un equipo inicie un proyecto o retome uno existente con mucho entusiasmo, y que eventualmente que la productividad vaya reduciéndose a lo largo del tiempo. El mal código puede influir en este aspecto, ya que crear nuevas funcionalidades se vuelve una tarea ardua y tediosa causando que no sólo nuestra productividad se vea afectada sino también, nuestro estado de ánimo.

El entender todos esos enredos y “giros de tuerca” toma mucho tiempo (de hecho, hace que pasemos más tiempo leyendo código que generándolo) para que así, más enredos y “giros de tuerca” se puedan añadir. Además, y hace implícita la necesidad de realizar constantes preguntas al resto del equipo. El constante enredo hace que eventualmente el código se vuelva tan grande y extenso que resulta imposible limpiarlo.

Para evitar estos inconvenientes, te aconsejamos aplicar la regla del Boy Scout. Los Boy Scouts utilizan varios lugares predefinidos para sus campamentos y meetings internacionales. Ellos tienen como regla dejar el campamento más limpio a como lo encontraron. En nuestro caso debemos hacer lo mismo con nuestro código ya que debemos evitar activamente que se deteriore con el tiempo.

Value - Added Productivity

Como profesionales que somos es nuestro deber tener en cuenta tanto la productividad del equipo como la propia. Es por esto que hemos definido el concepto de Value - Added Productivity.

Independientemente de las técnicas y herramientas utilizadas para medir la productividad, te aconsejamos tener en cuenta la actitud hacia el proyecto y otros roles. Es nuestra obligación defender el buen código con fuerza y pasión.

Otros de los puntos importantes que tomamos en cuenta como parte del value-added - productivity son el nivel profesional y la comunicación. Ten siempre en cuenta que la relación empresa - trabajador va mucho más allá de exigir profesionalismo por un lado y estabilidad por el otro.

Próximos Pasos

Nuestra campaña es constante por eso te esperamos en nuestra próxima charla sobre Código Limpio este 27 de Abril a las 13.00 hs. en Campus Party.

Conversaremos en detalle consejos para mejorar tu código y tu nivel profesional, también te enseñaremos una técnica simple pero efectiva para mejorar la comunicación.

Además, podrás aprender técnicas para mejorar tu código usando varios de los lenguajes de programación y scripting.