Ir al contenido

Desarrollo basado en copiar y pegar

·479 palabras·3 mins
Programación
Alejandro Duarte
Autor
Alejandro Duarte
Alejandro Duarte es Ingeniero de Software, escritor, Ingeniero de Relaciones con Desarrolladores en MariaDB y consultor en desarrollo de software. Ha programado computadores desde mediados de los 90s. Comenzando con BASIC, Alejandro transitó a C, C++ y Java durante sus años académicos en la Universidad Nacional de Colombia. Se mudó primero al Reino Unido y luego a Finlandia para profundizar su participación en la industria del código abierto. Alejandro es reconocido en círculos de Java y MariaDB.

Nota: Traducido de la versión original en Inglés.

Teclado de copiar/pegar

Esta es la historia de un tal Sr. W. J., un desarrollador amable y simpático que trabajaba para una empresa de TI en una ciudad cosmopolita. Él estaba a cargo de otros cinco desarrolladores. Yo era uno de ellos.

Probablemente era mi segundo día en la empresa y me asignó una tarea de programación. Estaba trabajando en ella, tratando de descifrar de qué diablos trataba ese software que iba a ayudar a mantener durante los próximos meses. Entonces, el Sr. W. J. quiso “pedir prestado mi cerebro” por un segundo. Como no lo estaba usando, se lo presté. “¿Crees que ésta es una buena implementación?” preguntó el Sr. W. J. desconcertado, mirando la pantalla, luego a mi cara, de nuevo a la pantalla y luego al infinito. “Ummm… Yo diría…” apenas logré balbucear cuando me interrumpió. “Creo que también puedo hacer esto…” dijo y de inmediato comenzó a seleccionar toda una clase con cien líneas de código o más. Copió el código. Pegó el código. Lo pegó en un archivo vacío, cambió ligeramente el nombre de la clase e hizo algunas modificaciones en un par de líneas. Ejecutó la aplicación, probó algo en la pantalla y dijo “gracias” sin rastro alguno de ironía.

No pude resistir mi curiosidad. “Entonces… ¿vas a subir ese código?” pregunté desconcertado, mirando la pantalla, luego a su cara, de nuevo a la pantalla… “¡Sí!” respondió rápidamente sin darme la oportunidad de mirar al infinito. Pensé que sería Algo Bueno™ explicarle que el Desarrollo Orientado a Copiar y Pegar™ es algo Malo™ a veces. Explicarle a un desarrollador junior por qué esa técnica debería evitarse no es lo mismo que explicárselo a tu jefe*, así que decidí contarle al Sr. W. J. una historia sobre copiar y pegar en el desarrollo de software.

“Es curioso”, empecé a decir. “Hace algunos años, estaba trabajando en una empresa e hice algo como lo que tú hiciste”, continué. “Copié una gran porción de código, la pegué en otro lugar e hice un pequeño ajuste”, agregué. “No me di cuenta de que mi jefe estaba ahí cuando me dio una palmada en el hombro y me dijo «no hagas eso de nuevo»”, finalicé de manera convincente**. “¿Por qué dijo eso?” preguntó el Sr. W. J. desconcertado, mirando la pantalla, luego a mi cara, de nuevo a la pantalla. “No sé…” respondí derrotado mientras miraba la pantalla, luego a su cara, de nuevo a la pantalla, y luego al infinito…

* Depende mucho del jefe y del desarrollador junior en cuestión.

** Cambié los roles mientras contaba esta breve historia para ser más empático con el Sr. W. J. ¿Pensaste que yo era un maniaco de copiar y pegar? Creo que el Sr. W. J. lo era. A veces lo vi copiando y pegando identificadores de 2 o 3 caracteres de longitud.

¿Te gustó este artículo? Puedo ayudar a tu equipo a implementar soluciones similares. Contáctame para saber más.

Relacionados

Acoplamiento semántico
·485 palabras·3 mins
Programación
Una discusión sobre los peligros del acoplamiento semántico en el desarrollo de software.
Comentarios: Un desodorante para disimular los malos olores del código
·274 palabras·2 mins
Programación
Explorando las desventajas de usar comentarios para explicar código.
Comentando rápidamente (on-off)
·125 palabras·1 min
Programación
Un truco rápido para comentar y descomentar código de manera rápida.