martes, mayo 03, 2011

Docu-mentar programas

Muchas veces me propongo no ser tan malhablado, decir menos tacos e intentar cuidar mucho más mi lenguaje. Pero al poco tiempo acabo otra vez mentando a la madre del cordero y la del topo. Y es que no sé si soy yo o va con esta profesión. El caso es que alguna vez he comentado con los compañeros lo malhablados que llegamos a ser algunos informáticos en nuestros códigos, donde llegamos a desahogarnos cual si fuera el circo romano.

Yo recuerdo que cuando tiraba las líneas de código, no solo en los comentarios, sino incluso en el nombre de los procedimientos y variables utilizaba palabrotas. Pero creo que no soy el único. He visto mensajes de error que darían acceso a una ronda gratis de Grog pagada por de la chusma que acompaña a Lechuck. Y es que hay códigos que están escritos en lenguaje pirata.

Yo he perdido un poco de tiempo buscando ficheros de código en Internet para ver si hay muchos que hagan eso en Internet, y la verdad es que sí, y es desternillante leer los comentarios del código. Yo, solo os voy a poner algunos que, como yo, utilizan los improperios cual estructura de datos, mensaje de error o comentario para docu-mentar los programas.

Por supuesto tenemos la clásica variable de mierda.


Figura 1: Un punto de mierda a void

Pero, como se puede ver en otro programa que utiliza el mismo nombre de variable, la mierda se mueve bien.


Figura 2: manejando la shit

Como se puede apreciar, se maneja igual de bien que si fuera cualquier otra variable. Por supuesto, tenemos comentarios contándonos la vida, como el de este código para documentar una función de retardo.


Figura 3: Documentación de una función de mierda

O este, donde deja claro los resultados del caso degenerado, que los es más con el comentario.


Figura 4: Documentando las respuestas de mierda

Hay uno que hay que tener cuidado en no confundir ya que el verbo Put de los ingleses, cuando se asocia a la variable A, deja unos nombres de procedimientos muy malsonantes.


Figura 5: El método Puta

O mensajes de error como éste del gran RADARE – aunque no me queda claro si aquí quiere identificar que ha dado un error el procedimiento que hace PUT de A, u otra cosa, que con estos nunca se sabe (};)


Figura 6: Mensaje de RADARE con el error de Put A

¿Y vosotos? ¿También docu-mentáis? ¿Habéis vistos comentarios cabreados insultando al código o demostrando un estado de haber pasado un mal día programando de oido?

Saluods Malignos!

15 comentarios:

  1. Suponfo que ya la conocéis, pero por si acaso, aquí hay una buena recopilación de comentarios cachondos...
    http://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered

    ResponderEliminar
  2. Pos ten cuidao con mentar a la madre del cordero, que ahora te vuelvo a tener a tiro...

    y ahora me leo el resto de la entrada...

    ResponderEliminar
  3. Yo no suelo poner burradas en el código pero si he tenido compañeros que lo han hecho y no les ha salido muy bien la "broma".

    Recuerdo uno que hacer pruebas con una base de datos y no se le ocurrió nada mejor que rellenar las tablas con el típico texto: "El que lea esto es un gili... y un tocape..tas y bla bla bla" y claro, esto se supone que era en un entorno de desarrollo pero el problema es que luego llegó un jefecillo que quería ver en que fase estaba el proyecto y claro, no le hizo mucha gracia leer eso...

    Yo lo que si suelo poner en los comentarios es el típico "Esto no debería pasar nunca" cuando me encuentro con verificaciones que, en principio son absurdas, por ejemplo cuando llamo a una función que devuelve el valor 1 o el valor 2. Es decir, te dicen que si devuelve 1 hay que hacer tal cosa y si devuelve 2 hay que hacer otra cosa y, supuestamente no puede devolver ningún otro valor pero como dice la Ley de Murphy, si puede pasar, pasa. Así que siempre me reservo un "else ' Esto no debería pasar nunca" y muestro un mensaje de error

    ResponderEliminar
  4. Jias jias jias trabajando de programador desde hace solo 3 años ya he visto cosillas de esas a porrillo, es mas, he llegado a ver "entregarle" a un cliente un programa donde un par de excepciones mostraban mensajes bastante soeces...
    Debo reconocer que si, que yo alguna vez tb pongo nombres de variables esstupidos, y sobretodo en los juegos de pruebas, por lo que antes de entregar siempre hay que repasar no haberse dejado nada por ahi... ;)

    Aunque tb hay comentarios del tipo

    "[ERROR] Falló: xxxxxx. Lo sé, tengo k arreglarlo, ya lo hare en otro momento"

    o

    "[ERROR] Falló: xxxxx. No se pq co*** falla aqui, tengo que mirarlo. Jose"

    ResponderEliminar
  5. Yo tenía la estúpida manía de ocultar bloques de código que no quería que se ejecutaran con un:
    if (1!=1){[...]}
    Y solía dejar dentro del bloque un "¿pero como coño 1 puede ser distinto de 1?"

    Lo hacía hasta que me llamó un cliente diciendo que cuidara el lenguaje en mis comentarios y que a ver si podíamos solucionar porqué 1 es distinto 1.

    Él todavía se ríe, yo todavía me pongo rojo. Hace 11 años de esto.

    ResponderEliminar
  6. Yo puse una variable una vez que llamé algo como "g_toHackTheFuckingCustomerIdea", y un tiempo después se entregó el código fuente al cliente sin que yo me acordara de refactorizar el nombre... y este preguntó para qué servía esa variable, que no lo tenía claro.

    No se quejó ni nada, simplemente me envió un correo a mi con copia a mi jefe... Lo cierto es que la variable estaba como metida con calzador para hacer una de esas chapuzas de última hora que todos decimos que no se deba hacer pero que siempre hacemos...

    Yo tampoco me corté en la respuesta, diciéndole al cliente que era una varaible de estado que se iba mirando en todo el código fuente para detectar si estaba activa la opción que habían añadido a última hora... y ellos respondieron que la iban a renombrar como g_newLastFeature (bueno, el nombre era el de la feature en cuestión).

    ResponderEliminar
  7. tamién soy de esos que ponen cosas indecorosas a su código y un día estaba configurando un directorio activo (que por cierto iba fatal todo aquel sistema) y estaba cambiando una política para fijar un fondo de escritoio y que con cada cambio que hacía no pasaba nada, hasta que vino el gerente de la empresa y un jefe... no funcionaban los cambios que hacian hasta que se puso esta imagen en todos los ordenadores:
    http://1.bp.blogspot.com/_MRiocb_aCfI/TB3keGNxvTI/AAAAAAAAAfc/KoJ4PScEp3o/s1600/quentin-quentin-tarantino.jpg

    Me preguntaron que era eso y les dije la verdad que era una prueba pero con sus miradas y tal... total que muy bien de mi no pensaron, la verdad es que me parto cada vez que me acuerdo de eso ahora pero en ese momento me puse rojo bermellón

    ResponderEliminar
  8. Y tu que hacias buscando putas? }:)

    ResponderEliminar
  9. Jajajaja...pensaba que era un bicho raro por ustilizar variables como : "caca", "pedo", "culo"...Un ex ejefe mio frances me llamo un dia para decir que al ejecutar el programa no podia encontrar la "cacaaa" (acento francés)...Todavía me descojono cuando me acuerdo.

    ResponderEliminar
  10. En la uni como solíamos que escribir las variables en español era muy común que escribiera la variable "ano" (mientras que otros escribían "anyo").

    Hace años leí, no recuerdo dónde, que el código del kernel del Linux era un cachondeo al respecto con montones de "shit" y "fuck" en los comentarios aunque se ha ido suavizando la cosa y "love" ya estaba ganando.

    ResponderEliminar
  11. Esto parece programadores de mierdas anónimos xD pero quien no haya creado una variable/traza/función con tanto "cariño" alguna vez, que tire la primera piedra

    ResponderEliminar
  12. Que gracia XD yo llevo muy poco tiempo programando pero ya he cometido y he visto un par de estos Sources.

    Entrada Re-Twit

    ResponderEliminar
  13. Ains!!! He escrito un comentario sobre este tema en el post que no era. Ains!!

    Bueno. Así, rápido y corriendo. Un comentario que ví en un sitio con una colección:


    //20040715: este trozo es temporal
    //20090901: ¿temporal? ¿y una mierda?

    ResponderEliminar
  14. Una cosa que acabo de encontrar en el rss de RTVE

    ResponderEliminar
  15. La naturalidad en el texto de los comentarios típica "hacker" ayuda a entender el estado de ánimo con el que el programador creó el código.

    ResponderEliminar