Los Boy Scout tienen una regla: “Siempre deja el lugar de acampamento más limpio que como lo encontraste”. Si encuentras un desastre en el piso, lo limpias sin importar quién pudo haber hecho el desastre. Mejoras intencionalmente el ambiente para el siguiente grupo de campistas. En realidad, la forma original de la regla, escrita por Robert Stephenson Smyth Baden-Powell, el padre del Scoutismo, era “Intenta y deja el mundo un poco mejor que como lo encontraste”.
Que tal si seguimos una regla similar con nuestro código: “siempre deja un módulo más limpio que cuando lo revisaste”. No importa quién fue el autor original, qué tal si siempre hacemos algún esfuerzo, sin importar lo pequeño, para mejorar el módulo. ¿Cuál sería el resultado?
Creo que si todos seguimos esa simple regla, podría ser el final del implacable deterioro en nuestros sistemas. En vez de ello, nuestros sistemas serían gradualmente mejores y mejores en cuanto evolucionaran. También veríamos equipos que cuidan el sistema como un todo, en vez de individualistas cuidando su pequeña partecita.
No creo que esta regla sea mucho pedir. No tienes que hacer cada módulo perfecto antes de dejarlo. Simplemente tienes que hacerlo un poco mejor cuando lo dejes. Claro, esto significa que cualquier código que agregues al módulo debe estar limpio. Esto también significa que limpies, al menos, alguna otra cosa antes de que regreses el módulo. Podrías simplemente mejorar el nombre de una variable o separar una larga función en dos pequeñas. Podrías romper una dependencia circular o agregar una interfaz para desacoplar la política del detalle.
Francamente, esto me suena como decencia común, como lavarte las manos después de usar el baño o poner la basura en el bote en vez de tirarla en el suelo. De hecho, el acto de dejar un desastre en el código debería ser socialmente inaceptable, como tirar basura. Esto debería ser algo que simplemente no se hace.
Pero es más que eso. El cuidado de nuestro propio código es una cosa. Tener cuidado del código del equipo es otra muy distinta. Los equipos se ayudan entre sí, y después se limpian entre ellos. Siguen la regla Boy Scout, porque es bueno para todos, no sólo para ellos.
Traducción: Espartaco Palma