Copiar y pegar código...
La programación a objetos popularizó un concepto llamado 'abstracción'; o al menos hasta ese punto yo lo vi tangible.
Esta semana se invirtieron más de 8 horas buscando un error en un sistema gracias a no abstraer una funcionalidad. Simplemente se copió y pego una pieza de código hace algún tiempo; un par de días atrás se estaba, iracundamente, buscando la razón irracional de porqué no calculaba correctamente una función que en otra instancia del sistema si lo hacía.
La respuesta: el código de donde se copió originalmente había cambiado; la rutina estaba calculando diferente. Y peor aún, ¡era una rutina destinada a hacer exactamente lo mismo! (por algo se copió y pegó, ¿no?), esto se realizó por no abstraer el requerimiento en una función parametrizable; ¿qué flojera no?
Bueno, esa pequeña negligencia costó mucho tiempo de corajes, dudas, conflictos teologales y mal vibra colectiva... sin emabrgo, como todo, esto nos deja más apredizaje que evitará cometer la misma 'abstracción mental' otra vez. Algunas veces, como en todo, ahorrarnos 5 minutos en algo mal hecho, nos significan horas y horas en un futuro, generalmente, no muy lejano... que ilógico seguir cometiendo estos errores; la vida es pragmática sin duda alguna (y poco convincente)
Esta semana se invirtieron más de 8 horas buscando un error en un sistema gracias a no abstraer una funcionalidad. Simplemente se copió y pego una pieza de código hace algún tiempo; un par de días atrás se estaba, iracundamente, buscando la razón irracional de porqué no calculaba correctamente una función que en otra instancia del sistema si lo hacía.
La respuesta: el código de donde se copió originalmente había cambiado; la rutina estaba calculando diferente. Y peor aún, ¡era una rutina destinada a hacer exactamente lo mismo! (por algo se copió y pegó, ¿no?), esto se realizó por no abstraer el requerimiento en una función parametrizable; ¿qué flojera no?
Bueno, esa pequeña negligencia costó mucho tiempo de corajes, dudas, conflictos teologales y mal vibra colectiva... sin emabrgo, como todo, esto nos deja más apredizaje que evitará cometer la misma 'abstracción mental' otra vez. Algunas veces, como en todo, ahorrarnos 5 minutos en algo mal hecho, nos significan horas y horas en un futuro, generalmente, no muy lejano... que ilógico seguir cometiendo estos errores; la vida es pragmática sin duda alguna (y poco convincente)
2 Comments:
Y tienes razón, justo lo mismo le pasó a un equipo de desarrollo vecino, con lo fácil que es copiar y pegar componentes en .NET...
Tu frase "un concepto llamado 'abstracción'; o al menos hasta ese punto yo lo vi tangible" es bastante curiosa debido a la naturaleza abstracta de la plabara "abstracción" valga la redundancia, lo cual hace que sea intangible, pero creo que entiendo a lo que te refieres.
para copiar y pegar código os recomiendo esta herramienta:
http://www.copiatelo.com/
es muy util para evitar problemas con pegar códigos en emails, foros,. etc..
Publicar un comentario
<< Home