Oct 24 2008

¿Comentarios en una refactorización perfecta?

Categoría: RefactorizaciónJuan @ 1:51 am

Más sobre refactorización en OOPSLA 2008…

En una presentación sobre refactorizar comentarios cuando se refactoriza código, Peter Sommerlad dijo lo siguiente:

Haciendo una buena refactorización los comentarios en el código son innecesarios

Totalmente en descuerdo.

La refactorización hace el código muchísimo más legible y claro (eso es indudable) y añadiendo los test unitarios tenemos incluso una mínima documentación (y, por supuesto, validación). Pero de ahí a decir que los comentarios son innecesarios (es más, el se refirio a ellos como contraproducentes) hay mucho camino.

Nunca he creído que haya que escribir muchos comentarios en el código. Con demasiados comentarios se obtene lo contrario a lo deseado (en este caso sí es contraproducenta como Sommerlad indica), es decir, ofuscación en lugar de claridad y un esfuerzo y tiempo extra por parte del desarrollador (los comentarios hay mantenerlos junto con el código).

Ahora bien, las partes más complejas del código (por ejemplo en un algorítimo, una compleja operación matemática, un tipo complejo de datos, etc) que no sean triviales a simple vista deberían llevar un mínimo de comentarios para ayudar a su comprensión y entendimiento puesto que la refactorización por si sola no da la suficiente información con los nombres de funciones, variables, métodos, clases, etc. Es más, creo también que un exceso de refactorización puede ser contraproducente ya que tener demasiados métodos de muy pocas líneas podría llegar a dificultar la claridad del código.

En resumen: Refactoriación, sí. Comentarios, también (los justos y necesarios, ni más ni menos)

Etiquetas: ,


Oct 19 2008

OOPSLA 2008

Categoría: EventosJuan @ 8:04 pm

Logo OOPSLA 2008

Vuelta de vacaciones un martes y el viernes de la misma semana a EEUU para atender a la conferencia OOPSLA 2008 que se desarrolla en Nashville (Tennessee)

Durante estos días intentaré escribir sobre todo aquello interesante que vea en la conferencia, tutoriales, workshops, etc.

Etiquetas: ,