04 noviembre 2009

Me gusta el código comentado /* Y que */

//SIG=11dsqp54d\/*-//http:\/\/video.search.yahoo.com\/search\/video"},"shopping":{"button":"Shopping //Search","action":"http:

Esta entrada trata sobre una mala practica de programación que afortunadamente esta quedando en desuso, al menos por los buenos programadores.
/* Esto no es codigo, es solo un recordatorio de que hice algo mal y deje evidencia
Tambien es la evidencia de mi trabajo, es como la papelera de un genio que siempre
esta llena antes de que llegue a la conclusión de una gran idea. Solo que yo, acompaño la idea con la papelera.
Ademas debo dejar mis cambios anteriores y como no conozco herramienta para versionar el codigo, prefiero dejarlo comentado, por si se ofrece después
Incluso puedo poner la lista del mandado, mis conversaciones del Messenger, letras de canciones */
//Un limon, medio limon, 2 limon, medio limon,….
//
// Puedo dejar lineas en blanco comentadas, todas las que quiera
//
//
//Al cabo no importa, el compilador no las lee, las ignora cuando hace su trabajo
Me refiero al famoso código comentado, que no es lo mismo que documentar código, en términos prácticos el código comentado es basura, son líneas /*Incluso puede estar en cualquier lugar */que a nadie benefician y que si perjudican mucho al momento de dar mantenimiento a un sistema.

/* static void CopyObject(SampleClass original)
{
if (original == null)
{
throw new System.ArgumentException("Parameter cannot be null", "original");
}
}*/
Imaginemos que un escritor esta escribiendo (valida la rebuznancia) un nuevo libro, para llegar a la versión final tiene que pasar por numerables etapas, muchos ensayos, muchos borradores; tiene que pasar por la revisión de mucha gente antes de ser publicado. En este proceso creativo el escritor va a transformar su idea, escribir y reescribir una y otra vez líneas y líneas que /* Se pueden camoflajear como lineas validas */ se irán quedando en papeles hechos bola en la papelera.
/*{"props":{"crumb":"O2oDA5QWh6WWpHcTlLY3U.","libRoot":"http:\/\/l.yimg.com\////a\/lib\/","proxyUrl":"\/proxy","ultSpaceId":"2023538075","ultBeaconHost":"\/p.gif","re///questUrl":"\/js","comboRoot":"http:\/\/l.yimg.com\/a\/combo?","sdaRequestUrl":"\/sda2//","passthru":"","proxyTimeout":15000,"modChromeHtml":"_{view_name}\">{html} <\/div>\n */

Te gustaría comprar un libro y que traiga 3000 hojas, de las cuales solo la mitad sea contenido?, y que las otras 1500 sean anotaciones, versiones preliminares, apuntes, borradores, calis de ese libro que tanto esperas leer??
/* El concepto de culpa y de castigo, comprendida la doctrina de la gracia, de la redención, del perdón- todas las completas mentiras privadas de toda realidad psicológica- fue inventado para destruir en el hombre el sentido de las causas; fue un atentado contra la noción de la causa y efecto! */
El código comentado es así, son vagas ideas de un monstruo llamado código, que espera ser completado. Haciendo a un lado la poesía técnica, el código comentado es la punta del iceberg, si hay codigo comentado, significa que hay un problema de fondo mas grave.
Para algunos quitar el código comentado es mera estética, para otros (principalmente para quien no hizo el código) es una tarea necesaria antes de cada entrega (release), ya que es difícil trabajar con código basura.
Por lo general el desarrollador deja sus migajas en los programas por varias causas:
  • Pereza
  • Falta de profesionalismo
  • //Porque no afecta la funcionalida!!, de todos modos compila
  • Carencia de procesos de calidad
  • Tiempos de entrega apretados
  • Desconocimiento
  • Y en algunos casos soberbia (El clásico “Yo si entiendo mi código”)
  • //Porque si
Como programador es tu responsabilidad generar buen código, recuerda que tal vez mañana (Sonó a canción) tus líneas, las va a leer Apu en Bangalore y al verlo dira: यह क्या है?

2 comentarios:

Unknown dijo...

jajaja muy buen post. Estoy completamente de acuerdo.

Una sugerencia más es que si tienes que modificar un archivo (para otra cosa) y te topas con toda esa basura comentada bórrala de una buena vez. Para eso existen los controladores de código (que por supuesto estás usando, ¿verdad?)

Para mi los comentarios, si acaso son necesarios, deben explicar el por qué está tu código haciendo lo que hace, no el cómo lo hace. Si necesitas comentarios para explicar qué está haciendo tu código significa que está mal escrito y require de una refactorizada o re-estructurada.

Eliezer Haubert dijo...

Gracias por el comentario Carlos, esto del código comentado es el pan de cada día, incluso hay desarrolladores que se resisten a limpiar su código.
En una ocasión un desarrollador comento que se trataba de código "util", solo que por el momento estaba comentado, jajaja
Y fue cando le dije, pues para eso esta el TFS, para eso están los controladores de código, como tu comentas.
Me parece bien la sugerencia de borrar la basura que nos topemos. Creo que es una practica muy sana