Documentas tu codigo?

Siempre documenten su código, les servira a ustedes y a mas personas de lo que te imaginas.

- Profesor del Tec de Leon

No te ocurre que cuando lees códigos que hiciste hace algun tiempo, no lo logras entender?.

Bueno, esto pasa por no documentar el código y por no hacer una programación entendible (mas humana), como es esto?, vamos a verlo un poco.

int myFunction(int n)
{
  if (n < 2)
    return n;
  else
    return myFunction(n - 1) + myFunction(n - 2);
}

A simple vista entiendes ese código?, y si te dijera que lo que hace es la serie de Fibonacci?.

No es tan sencillo a simple vista, por que nadamas son letras sin sentido para el ojo humano, ademas la palabra myFunction tampoco ayuda de mucho solo para indicarnos que es una Función Personalizada.

Casos como este se dan seguido cuando uno comienza a programar, no se diga del caso de las variables que usamos para los ciclos “i, j, k, … etc.“. O las variables que uno comienza a usar para operaciones básicas (suma, resta, multiplicación, etc..) como son “x, y, z, … etc.“.

Todo esto son cosas comunes en la programación ya que tenemos que pasarlas para comprender la importancia que tiene el no hacerlo de esa manera, – Para los nuevos, esto lo verán después de su primer programa de mas de 1,000 lineas de código – .

Ahora veamos un ejemplo mas entendible:

int Fibonacci(int n)
{
  if (n < 2)
    return n;
  else
    return Fibonacci(n - 1) + Fibonacci(n - 2);
}

Curiosamente solo se modifico el nombre de la función y con eso le da sentido a la misma, es decir, el nombre de la función nos dice algo sobre lo que vamos a encontrar dentro de ella, en este caso el calculo de la serie de Fibonacci a la cual le tenemos que pasar un dato entero como parámetro.

Pero vamos que se puede mejorar aplicando algunos comentarios en lugares claves y haciéndolos de una manera entendible.

// Calcula la serie de Fibonacci, recibe un entero como parametro.
int Fibonacci(int n)
{
  // Revisa si es la primera o segunda iteración de la recursividad
  if (n < 2)
    return n;
  else
    // Aquí se maneja la recursividad de (n -1) + (n - 2) que implica la formula
    return Fibonacci(n - 1) + Fibonacci(n - 2);
}

Ahora es mucho mas sencillo entenderlo, claro no explique la serie de Fibonacci en este ejemplo por que no era mi intención hacerlo, mi intención es dar a entender que si creas código con palabras concisas y que tengan un significado que sea relativo a lo que realiza ese bloque de código que quieres programar, vas a tener un código mas entendible y mantenible.

La cuestión de escribir poco, mucho o mejor código con mejores instrucciones, etc… es material de otro Post.

Espero les ayude esto. ;-)

10 thoughts on “Documentas tu codigo?

  1. :O
    Ya odio la secuencia Fibonacci U_U
    Y más con recurrencia xD
    Junto con el de Máximos y mínimos :P

    Y lo primero es muy cierto U_U
    Hicimos 2 amigos y yo un buscaminas en JavaSwing, ves el código y no entiendes ni madres xD De hecho sabemos que hay código de más pero quien sabe en que parte, ya nos da hasta flojera checarlo… :P
    A ver si un día me animo a sacarlo xD

    Saludos ^^

  2. Seria genial que lo hicieras, además te sirve como ejercicio mental para recordar como pensabas y como piensas hoy.

    También te sirve para aplicar cosas nuevas que aprendiste en el lapso de tiempo.

    Si gustas lo colgamos en mi server :P

  3. Asi es Rey, muy bien dicho ups perdón, bien escrito, además hay ke incluir que ya hay herramientas que nos ayudan a comentar nuestras lineas de código, como el ghost para VB.NET y herramientas en Java que nos ayudan a crear nuestro manual de usuario, asi que cada que empezemos hay que comentar nuestro programa, y así será mas facil entregar un trabajo muy bien hecho… por cierto, Saludos Rey felidicades por tu Blog & New Theme, jeje Byes…

  4. Asi es, es mejor comentar lo mas importante o puntos claves del sistema para luego no perder tiempo re-entendiendo que hicimos.

    Gracias por el comment :D

  5. SIIII !!
    * Si no comentas código, hay tabla.
    * Si no haces diseño, hay tabla.
    * Si no haces plan de pruebas, hay tabla.
    * Si no automatizas pruebas, hay tabla.
    * Si no especificas requerimientos, hay tabla.
    * Si te distraes, hay tabla.
    * Si levantas la voz al lider de proyecto, hay tabla.
    * Si escuchas banda, hay tabla.
    * Si eres Emo, hay tabla.

  6. Como lo he dicho siempre, “Cuando programes, programa para los demas” esto es programar de manera tal que cualquiera (programador obviamente) que vea tu codigo te entienda, pero Ojo como dicen ni tanto que queme al santo y ni tanto que no lo alumbre hay que programar pocas lineas de codigo entendibles… pero tampoco tan poquitas que no se entienda ni madres lo que se quiere hacer así mismo la contraparte… no programar un chingo de lineas nomas p’ que todos entiendan y al contrario de lograr eso.. se obtiene mas confusion. Y como dice el David… si no lo hacen así, hay tabla.

  7. Ademas ya existen herramientas basadas en javadoc para distintos lenguajes lo que hace que con un comando tengamos una documentación mas en forma de nuestros proyectos

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>