Comentarios en el código, ¿sí o no?

Hace poco leí el pequeño rant de Seppo0010 en su blog sobre los comentarios en el código y me dejó pensando sobre si es una buena práctica, o no. Y la verdad que no estoy de acuerdo con la opinión de él.

Estoy a favor de los comentarios en el código. Me parecen una herramienta que, si está bien usada, resultará muy útil para aquel desarrollador que debe agarrar algo hecho por otra persona, o que hizo él mismo pero hace tanto tiempo que no lo tiene fresco y necesita “entenderlo”. Pero presten atención a mi “si está bien usada” ya que para mí ahí está todo el meollo del asunto.

De nada sirve comentar por comentar o poner cosas como “//acá va un loop” antes de un while. Es inservible eso. Pero, por ejemplo, yo acostumbro al definir una función medio compleja, poner al comienzo un comentario explicando que hace, que parámetros recibirá y que devuelve. Si, como decía Seppo0010 leyendo el código puedo ver esa información, pero el comentario me da una idea rápida y concisa, a fin de no perder tiempo leyendo todo el texto de la misma sólo para saber que hace.

Es decir yo hago algo como esto:

<?php
function traerCAE($cuit,$precioneto){
//La función recibe el CUIT del cliente como
//parámetro y el valor a facturar neto sin IVA
//Devuelve un array con 2 posicones: [0] vale 0 si está OK
// y vale 1 si da error.
//La posición [1] trae el mensaje de error o el CAE.

...

//98 lineas más

...

} //Fin function traerCAE

?>

Entonces, no debo leer esos 98 lineas para saber que hace y que me devuelve, el comentario ya me da una idea. Si luego necesito el detalle, la leo en profundidad.

Otro ejemplo, que uso bastante es la de al tener que trabajar con sectores muy largos, grandes whiles con otros bucles dentro, ifs y similares. Siempre que cierro una }, al lado le pongo un comentario de que es lo que está cerrando. Así veo fácilmente a que corresponde. Es decir yo hago esto:

<?php

//Muchas lineas de código

while ($hola=$chau){

//muchas lineas de código

} // Fin de while ($hola=$chau)

?>

Entonces, si por ejemplo entre las llaves tuviera 300 lineas de código, se fácilmente que está cerrando esa llave que dice “} // Fin de while ($hola=$chau)” por lo que si aunque esté mal identado o lo que sea, me da una buena idea de donde estoy.

En resumen, yo creo que los comentarios en el código son algo muy útil y necesario, más aún cuando trabajas con otras personas o tener que revisar código viejo que te ayudan a saber que hace y porque lo hace. Ustedes que piensan, ¿están a favor o en contra de los comentarios?