Refactorizar código: Sentido refactorizódico
Publicado el 7 de mayo de 2010Cuando repito código como que me suena una alarma en la cabeza. Algo así como el sentido arácnido de Spiderman… "Sentido refactorizódico"
— Fernando Briano (@picandocodigo) May 6, 2010
Ese día estaba escribiendo código en Flex. Llegó un momento en que tenía que repetir una lógica. En el afán de sacar la funcionalidad rápido, copié y pegué varias líneas de código de un archivo a otro. Ni bien empecé a hacer esto, comenzó el “Sentido refactorizódico” a titilarme en la cabeza. Algo así como una alarma y un cartel rojo parpadeándome frente a los ojos: Estás repitiendo código, es hora de refactorizar.
Así que empecé a llenar de comentarios el código:
/*
* REFACTORIZAR - Extraer esta lógica a algo compartible con otra clase
*/ |
¿A ustedes también les pasa? Algunos programadores supuestamente son fanáticos del copiar y pegar, y no acostumbran a programar componentes, módulos o bibliotecas reutilizables.
Visto el tweer (publicado también en Identi.ca) juanduke me recomendó popularizar el término para poder agregarlo a Brutalidades del léxico de los informáticos.
Bernabé García 7 mayo. 2010 - 15:49
La caja de twitter queda realmente espantosa en el rss :S
fernando 7 mayo. 2010 - 16:02
Ya veo…
A ver si puedo arreglar eso…
Una razón más para no incluir todo el post en el feed 😛
Nah, es broma!
Pablo Venturino 7 mayo. 2010 - 23:33
Ah, verdad! Duplicar código es una paria. Y no sé si te habrá pasado de heredar código lleno de copypasting y tener que mantener lo mismo… en 5 lugares distintos.
Ahora, no creo que sea buena solución dejar un comentario de “TODO: Refactorizar” en el código. Vas a pasar a otra tarea, y luego a otra, y a otra… y ese comentario va a seguir ahí. Te digo, he visto esa clase de comentarios en código heredado… con más de 6 años de antigüedad :S
fernando 10 mayo. 2010 - 11:16
Por supuesto que es una “solución” temporal, si bien la prioridad era sacar la funcionalidad, la próxima tarea -sin falta- es refactorizar el código.
Me ha pasado también, de ver código de otra persona con copiar y pegar 50 veces. ¡Encapsular y generalizar! Hay que programar reutilizable… Algunos nunca aprenden 😛
Acatos 8 mayo. 2010 - 07:11
xD A mi me salta la alarma tambien cuando hago cosas así. Suelo poner comentarios en plan “# Refactorizar esto!!” o “# Deprecated!!” o cojo y me creo una incidencia en el BTS.
Eso es cuando tengo el código repetido dos veces, si se me da el caso de tener que ponerlo tres, ya lo hago directamente :p
fernando 10 mayo. 2010 - 11:18
Generalmente acato esa regla también: Hasta dos veces copio y pego (con la tarea pendiente), pero ya la tercera me pongo a programarlo directo.
Luilly 10 mayo. 2010 - 07:49
A mí también me ataca el sentido arácnido. Si duplico código me siento como si hubiera matado a alguien y no me queda más remedio que refactorizarlo…
fernando 10 mayo. 2010 - 11:19
Se ve que fuimos bien enseñados 🙂
Como que nos duele ver código copiado y pegado 😛
xphere 23 julio. 2010 - 06:41
El “sentido refactorizódico” se vuelve loco cada vez que tengo que trastear en código ajeno y viejuno.
Pasa a menudo encontrar comentarios de hace 5 años en plan:
// XYZ 2005-09-01 Solución temporal y guarra para salir del paso
Pongo XYZ para no señalar a nadie, pero siempre es el mismo xD
Fernando 26 julio. 2010 - 01:12
Jeje, entonces tienes un compañero problemático en el equipo… 😛
Oh bien se dedica a refactorizar su código, o que se tome el tiempo de hacerlo prolijo de primera, ¿no?