http://www.programacion.com/articulo/refactorizacion:_camino_hacia_la_calidad_221