SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: punteroNULO en Miércoles 14 de Diciembre de 2005, 18:56

Título: Sugerencia
Publicado por: punteroNULO en Miércoles 14 de Diciembre de 2005, 18:56
En los pocos días que llevo en este foro veo que mucha gente escribe el código sin tabular y sin comentarios, me imagino que están empezando a programar. Con esta forma se dedica el 99% del tiempo en intertar descifrar el código (que pertenece a cada bloque, que se pretende, donde empieza y termina una función, etc.)

Por ejemplo:
Código: Text
  1. int funcion(int ent){
  2. for(i=0;i <j;i++)
  3. for(h=0;h<MAX;h++)
  4. {
  5. if (numero == 23)
  6. numero=20;
  7. if (i<10)
  8. {
  9. instrucciones
  10. }
  11. else
  12. numero2=0;
  13. }
  14. }
  15.  
  16.  


Comparado con:
Código: Text
  1. int funcion (int)   // función que realiza ...
  2.    {
  3.    for (i=0; i<j; i++) // recorremos hasta j
  4.       for(h=0;h<MAX;h++)   //comentario
  5.          {
  6.          if (numero == 23)  //comentario
  7.             numero=20;
  8.          if (i<10)  //comentario
  9.             {
  10.             instrucciones;
  11.             }
  12.          else
  13.             numero2=0;
  14.          }
  15.    }
  16.  
  17.  
  18.  

Evidentemente más fácil de seguir el segundo ejemplo.

Como dice el título, solo es una sugerencia pero que facilitaría mucho el trabajo.

Gracias y hasta otra.
Título: Re: Sugerencia
Publicado por: Eternal Idol en Miércoles 14 de Diciembre de 2005, 19:33
Me sigue pareciendo horrendo  :devil:  Pero claro que es cuestion de gustos, yo lo haria asi:

Código: Text
  1.  
  2. int funcion (int)   // función que realiza ...
  3. {
  4.   for (i = 0; i < j; i++) // recorremos hasta j
  5.   {
  6.     for(h=0; h < MAX; h++)   //comentario
  7.     {
  8.       if (numero == 23)  //comentario
  9.       {
  10.         numero = 20;
  11.       }
  12.       if (i < 10)  //comentario
  13.       {
  14.         instrucciones;
  15.       }
  16.       else
  17.       {
  18.         numero2 = 0;
  19.       }
  20.     }
  21.   }
  22. }
  23.  
  24.  
Título: Re: Sugerencia
Publicado por: bob esponja en Miércoles 14 de Diciembre de 2005, 20:38
yo uso el formato de eternal
Título: Re: Sugerencia
Publicado por: JuanK en Miércoles 14 de Diciembre de 2005, 20:43
Si y se puede colorear si lo desean, lo cual mejora la legibilidad.

Yo lo haria asi:
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
// función que realiza ...
int funcion (int)  
{
  // recorremos hasta j
  for (i = 0; i < j; i++)
  {
    //comentario
    for(h=0; h < MAX; h++)  
    {
      //comentario
      if (numero == 23)  
      {
        numero = 20;
      }
      //comentario
      if (i < 10)  
      {
        instrucciones;
      }
      else
      {
        numero2 = 0;
      }
    }
  }
}
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->

revisar este link:

Code2Tag (http://foros.solocodigo.com/index.php?showtopic=12167&hl=code2tag)
Título: Re: Sugerencia
Publicado por: jrsmith en Miércoles 14 de Diciembre de 2005, 22:03
Pues con color se ve bien, pero con color o sin color yo estoy con el tipo q muestra Eternal :devil:
Título: Re: Sugerencia
Publicado por: LeGatoRojo en Jueves 15 de Diciembre de 2005, 04:44
Yo igual, uso el tipo eternal, y si es buena sugerencia, a veces preguntan y quieren que se les resuelva todo, y por demas aun tenemos que tratar de decifrar el codigo.
Título: Re: Sugerencia
Publicado por: The Black Boy en Jueves 15 de Diciembre de 2005, 04:48
yo me conformo con que lo tabulen....
Título: Re: Sugerencia
Publicado por: punteroNULO en Jueves 15 de Diciembre de 2005, 21:49
Lo de las llaves es cuestión de gusto personal, cada uno utilizará el que le sea más claro. Pero ponga como se ponga esta mucho más claro.

Que yo haya visto, se utilizan tres formatos de llaves.

Código: Text
  1. int funcion ()
  2.    {
  3.    instrucciones
  4.    }
  5.  
  6.  

Código: Text
  1. int funcion ()
  2. {
  3.    instrucciones
  4. }
  5.  
  6.  

Código: Text
  1. int funcion () {
  2.    instrucciones
  3. }
  4.  
  5.  

En cuanto al color estaria bien, pero como se dijo en un mensaje anterior me conformaria con que estuviera tabulado.
Título: Re: Sugerencia
Publicado por: x.cyclop en Viernes 16 de Diciembre de 2005, 02:15
Cita de: "Eternal Idol"
Me sigue pareciendo horrendo  :devil:  Pero claro que es cuestion de gustos, yo lo haria asi:

Código: Text
  1.  
  2. int funcion (int)   // función que realiza ...
  3. {
  4.   for (i = 0; i &#60; j; i++) // recorremos hasta j
  5.   {
  6.     for(h=0; h &#60; MAX; h++)   //comentario
  7.     {
  8.       if (numero == 23)  //comentario
  9.       {
  10.         numero = 20;
  11.       }
  12.       if (i &#60; 10)  //comentario
  13.       {
  14.         instrucciones;
  15.       }
  16.       else
  17.       {
  18.         numero2 = 0;
  19.       }
  20.     }
  21.   }
  22. }
  23.  
  24.  
Pues a mi me parece lo mismo a veces, no siempre. Pero bueno, sería mejor hacerlo con tabulación aunque yo casi nunca lo hago (con otros lenguajes... no llegué al C/C++ God :P )

 :comp:
Título: Re: Sugerencia
Publicado por: silverfox en Viernes 16 de Diciembre de 2005, 09:18
¿Soy el único que usa el tercer sistema?

Código: Text
  1.  
  2. int funcion () {
  3.   instrucciones
  4. }
  5.  
  6.  


 :P  :P  :P


Y, por supuesto, coloreado...

 :lol:  :devil:



Silverfox
Título: Re: Sugerencia
Publicado por: Eternal Idol en Viernes 16 de Diciembre de 2005, 09:44
Cita de: "silverfox"
¿Soy el único que usa el tercer sistema?

Código: Text
  1.  
  2. int funcion () {
  3.   instrucciones
  4. }
  5.  
  6.  


 :P  :P  :P


Y, por supuesto, coloreado...

 :lol:  :devil:



Silverfox
No sos el unico, te lo aseguro, la mayoria de los que aprendieron antes Java que C/C++ lo usan  :devil:  :devil:
Título: Re: Sugerencia
Publicado por: JuanK en Viernes 16 de Diciembre de 2005, 15:42
Cita de: "Eternal Idol"
Cita de: "silverfox"
¿Soy el único que usa el tercer sistema?

Código: Text
  1.  
  2. int funcion () {
  3.   instrucciones
  4. }
  5.  
  6.  


 :P  :P  :P


Y, por supuesto, coloreado...

 :lol:  :devil:



Silverfox
No sos el unico, te lo aseguro, la mayoria de los que aprendieron antes Java que C/C++ lo usan  :devil:  :devil:
 :blink: Me disponia a decir exactamente lo mismo.
Título: Re: Sugerencia
Publicado por: Amilius en Viernes 16 de Diciembre de 2005, 16:24
Cita de: "Eternal Idol"
Me sigue pareciendo horrendo  :devil:  Pero claro que es cuestion de gustos, yo lo haria asi:

Código: Text
  1.  
  2. int funcion (int)   // función que realiza ...
  3. {
  4.   for (i = 0; i &#60; j; i++) // recorremos hasta j
  5.   {
  6.     for(h=0; h &#60; MAX; h++)   //comentario
  7.     {
  8.       if (numero == 23)  //comentario
  9.       {
  10.         numero = 20;
  11.       }
  12.       if (i &#60; 10)  //comentario
  13.       {
  14.         instrucciones;
  15.       }
  16.       else
  17.       {
  18.         numero2 = 0;
  19.       }
  20.     }
  21.   }
  22. }
  23.  
  24.  
Generalmente no me gusta usar tantas llaves, a menos que uses el VS2005 u otro compilador que te resalta las llaves inicial y final. Respecto a si se ve mejor o peor usando todas las llaves depende del espaciado entre lineas en tu editor de codigo. Si el espacio es muy chico sin las llaves el codigo se ve horrible, si tienes bastante espaciado entre lineas el codigo se ve horrible si usas las llaves para una sola linea de codigo y especialmente si usas resolucion de 800x600 (ves menos cantidad de codigo en la pantalla), en 1024x768 no es problema. De hecho la unica razon por la que no uso llaves para una sola linea de codigo es poder ver mayor cantidad de codigo en la pantalla al mismo tiempo sin tener que abusar de la barra de desplazamiento.

P.D.
Título: Re: Sugerencia
Publicado por: Enko en Viernes 16 de Diciembre de 2005, 17:13
para las funciones y ciclos  prefiero dejar las llaves en una linea nueva.
para condiciones en la misma linea.
Segun sea importante o no tanto el comentario lo dejo al lado o en una linea anterior exactamente arriba.

Código: Text
  1.  
  2. (* esta funcion realiza...
  3. ...no hay que olvidarse de....*)
  4. int funcion1(int)
  5. {
  6.     return 0;
  7. }
  8.  
  9.  
  10. for(h=0; h &#60; MAX; h++)   //comentario no muy importante
  11. {
  12.    if (numero == 23)  
  13.       numero = 20;
  14.     //comentario importante
  15.     if(h&#62;MAX-1) {
  16.        funcion1(0);
  17.        funcion2(4);
  18.     }
  19. }                
  20.  
  21.