Los comentarios en el código son basura

Tiempo aproximado: 2 min.

Ayer estuve viendo una presentación (en inglés) de Robert C. Martin (Uncle Bob) en la Øredev 2008 en la que trataba alguno de los contenidos de su nuevo libro “Clean Code” (Código Limpio) y uno de sus comentarios me hizo recordar a mi buen amigo (y tantas veces maestro) Xavi Gost cuando decía que los comentarios en el código son basura.

Efectivamente, según Uncle Bob, los comentarios son excusas para escribir un método y mentiras (porque casi siempre están desactualizados). Por ello nos pide que, para ayudar a mantener limpio nuestro código, los borremos sin ni tan siquiera leerlos. Obviamente no se refiere al javadoc, aunque bien podría hacerlo. Martin afirma que si en un método dado tenemos varios bloques de código separado por comentarios, eso está pidiendo a gritos ser separado en varias llamadas a métodos donde cada comentario será el nombre de cada método.

He de decir que, a pesar de lo radical que pueda parecer la propuesta de Mr. Martin, no puede tener más razón. De hecho, Xavi me contaba que él ha llegado a configurar su sistema de control de versiones para que eliminara todos los comentarios no javadoc antes de hacer efectivo un commit, con lo que, en la práctica, estaba empujando a los desarrolladores a no incluir comentarios en el código.

Muchos de los que han trabajado conmigo me habrán oido discutir durante horas sobre el nombre de una clase o de un método. Por ahí van los tiros. Tanto Martin en “Clean Code” como Beck en el imprescindible “Implementation Patterns” insisten en la vital importancia de que elijamos bien los nombres de clases y métodos porque son el primer paso para escribir un buen código. Haced la prueba, intentad escribir vuestro código sin comentarios y, cuando tengáis la intención de hacerlo, cambiarlo por una llamada a un método…