Publicado el Lunes 24 de octubre de 2005 a las 13:47:25 por LiMaX
Lecturas
Todos sabemos que un código bien estructurado, visualmente me refiero, es primordial para que los usuarios menos expertos puedan entenderlo.
En mis tiempos de estudiante se me explicó que es buena idea espaciar más las órdenes que se encuentran subordinadas a otras.
Inicio de Función {
Orden principal 1
Orden principal 2
Orden principal 3 {
Orden secundaria 1
Orden secundaria 2
} Fin de Orden principal 3
Orden principal 4
} Fin de Función
Este sistema de espaciados resulta muy útil si el programa tiene función de depuración, ya que en la línea indicada estará cada una de las órdenes del programa, y si se revisa códigos sin editores adecuados (por ejemplo el "Editor HTML avanzado" on-line de Geocities) que no destaquen las órdenes por colores, como puede hacer hasta cierto punto FrontPage, ya que así nos aseguramos de que no falte ninguna acotación de cierre o fin de instrucción, como los puntos y comas, llaves, corchetes o paréntesis.
En un entorno como el Turbo-Pascal, este tipo de espaciado se realiza fácilmente ya que, al ser un editor que corre en entorno MS-DOS, cada uno de los caracteres ocupa el mismo espacio, independientemente de si es una 'I' o una 'W'.
El problema es cuando el entorno está basado en Windows, como el simple bloc de notas o el FrontPage, donde esto no es así.
Una posible solución es usar tabuladores pero, si el código es abierto con un editor diferente, estas tabulaciones pueden crear muchísimos "descuadres", más aún si cabe si la cadena de una línea es larga y el programa tiene ajuste de línea automático.
También influye en el punto de vista de la "claridad visual" del código el qué se "espacia" más o el qué se pone en otra línea diferente.
Un ejemplo muy claro es el siguiente código HTML:
Este es el texto a mostrar
Visualmente es muy claro y fácil de entender, pero creo que ocupa "demasiado", y pese a que los dos códigos realizan la misma función, yo particularmente prefiero utilizar el siguiente:
Este es el texto a mostrar
Otro punto a tener en cuenta es la inclusión o no de comentarios, así como su colocación en el código, si bien muchos lenguajes de programación especifican taxativamente su situación, en lenguajes como el JavaScript los comentarios pueden ir en cualquier parte del código, como se ve en el siguiente ejemplo:
// Esta línea es toda un comentario explicando la siguiente instrucción, pero puede parecer que se refiere a toda la función
if (a==b) c=d; // Este comentario también se refiere a la misma instrucción y se intuye más claramente que es solo para la misma
if (e==f) g++;
Me gustaría saber qué opináis vosotros ¿Qué es mejor utilizar, espacios o tabuladores? ¿Cada instrucción en una línea o agruparlas de forma parcial en la misma? ¿Comentarios en líneas separadas o no?
Concuerdo conDaniel no hay nada mejor que la tabulacion lea quien lea el codigo es mas facil de "saber que es lo que hace" y eso implica mucho menos tiempo, a mi en particular odio ver codigo en javascript los programadores son unas basuras se meten lo {, } nose donde, uno tiene que estar descubriendo que es lo que hace y eso es mucho tiempo y aunque suene trillado "el tiempo es oro". ;)
¿Y no habéis hecho nunca, por ejemplo cuando te has vajado un ejemplo de javascript, ordenarlo a tu modo para entenderlo? Yo muchas veces he encontrado efectos en páginas que me gustan.. me meto a cotillear el código y me encuentro tooooda la página a renglón seguido en una sola línea.... vale.. el fichero ocupará menos, todo lo que quieras, pero visualmente, si otro programador te tiene que sustituir, la cabronada (y perdonadme por la expresión pero es que me ha tocado un par de veces) que le hace es enorme....
Los gusto sobre los fuentes pueden ser muy variados, por ejemplo algunos le gusta la llaves de un bloque en linea diferente, a mi no. yo utilizo en mi codigo mucho a = ( b>c)?b:c; para seleccionar el mayor, pero para los erudictos de codigo no es correcto. Tambien el goto o salto incondicional o break esta mal visto, Creo que lo importante es que el codigo ande y tambien debe ser respetado el arte del programador que lo hizo. Por ello yo como impeccionador de codigo apollo el test de caja negra, con junit o jtest.- No olvidemos que la programacion es un arte y no una ciencia, y por lo tal debe dejarse las "imperfecciones" como el autor quiso .-
Personalmente me gusta mas el tabulador, asi puedo de cierta manera manejar una jerarquia de codigo, visualmente es mucho mas agradable y mas facil de decifrar donde termina y comienza una instruccion, una condicion, ciclos. etc. =)