Buenas prácticas

Escribiendo buen código

Antes de lanzarte a la piscina, comenzar a estudiar este lenguaje y escribir tus primeros scripts, viene bien tener algunas normas para lograr obtener un buen código.

¿Porqué?¿No basta con que funcione? Pues no del todo, ten en cuenta que un buen código

  • Facilita encontrar los inevitables errores
  • Hace más cómodo modificar el script
  • Hace más fácil actualizar los scripts
  • Otros programadores también pueden trabajar en el programa

Para códigos difíciles y enmarañdos ya está el lenguaje C. Los programas en javascript deben ser fácilmente entendibles por el ser humano.

¿Y esto como se consigue? Pues siguiendo unas buenas prácticas en programación, que no solo valen para Javascript, sino para cualquier otro lenguaje, ncluso son aplicables a las hojas de estilos CSS y el HTML de las páginas web.

La programación tiene un punto de arte y pueden existir múltiples soluciones para un mismo problema. Esto hace que cada programador tenga un cierto estilo que lo caracteriza. Pero en general hay algunas reglas o tips que ayudan aconseguir un buen código.

Primero proyecta
Antes de ponerte a escribir código Javascript, escribe tu programa usando lenguaje cotidiano, lo que se conoce como algoritmo. Te permitirá tener una idea clara de lo que vas a hacer y te facilita la buena documentación de tus programas.
Divide para vencer
No enfrentes una gran tarea de golpe. Intenta dividirla en pequeñas tareas. Te será más fácil y encontaras una solución más eficiente que si tratas de solucionarlo todo de golpe.
Comentarios de código
Todos los lenguajes de programación poseen algún sistema para insertar comentarios en los programas. Sirven para explicar lo que hace el programa. No debe faltar por ejemplo al crear una función o un objeto.
Comentarios de datos
No solo el código debe ser explicado, tampoco está de más dejar claro para que se van a usar las variables, con comentarios explícitos o con nombres significativos.
Código autodocumentado
Hay que hacer el código claro. Llama a las funciones y variables con nombres relativos a lo que hacen. Si defines una variable para guardar una altura no la llames x, llámala altura. si usas una función para abrir una ventana llámala abreVentana() por ejemplo
Líneas e instrucciones
Para tener un código claro y fácil de analizar usa una linea para cada instrucción. No crres bloques de lineas muy comactos que haga difícil un analisis visual.
Indentados
Usa las indentaciones, espacios en blanco delante de las lineas del programa, para destacar bloques de código como definiciones de funciones o bloques condicionales o cuerpos de bucles.
Variables
Trabaja en modo esctricto: usa el punto y coma al final de cada instrucción y declara las variables que vayas a usar.
Variables globales
Minimiza el uso de variables globales (esas que son accesibles desde cualquier parte del programa).
Preveer
Siga la máxima de si puede fallar fallará. Si hay que ser muy torpe para provocar un determinado error, ten por seguro que habrá alguien con ese grado de torpeza. Así que siempre que veas un punto donde pueda producirse un error, prevé que hacer cundo se produzca.
Refactoriza
Al terminar tu programa vuelve a revisarlo para eliminar posibles errores o mejorar algunas soluciones o completar los comentarios.... Es como darle el pulido final.

Todos estos puntos son opcionales, puedes seguirlo o no. Pero un buen código no solo denota un buen programador sino que logra programas más eficientes.

Javascript no es nada estricto en sus normas. Considera el cambio de linea como el fin de una instrucción y las variables pueden ser usardas sin una declaración (defnición) previa. Detalles como estos hacen que muchos vean Javascript como un lenguaje poco serio.

No obstante existe un modo estritcto ("use strict") que te va a obligar, por ejemplo a usar los puntos y coma y a declarar las variables antes de usarlas.

Puedes pensar que este código ocupa más espacio, y es cierto. pero hay utilidades para comprimir los archivos incluso para ofuscarlos (hacerlos ilegibles). Puedes usar una versión comprimida en producción, mientras tus archivos originales están descomprimidos y claros de leer.

Un caso ilustrativo

Esta función determina si un número es divisible por otro

function x(a,b){ return a%b==0}

Magnífico, en una línea, estupendo... pues no tanto.

/*Función para....

numero: entero

divisor: entero no 0

*/

function esDivisor(numero, divisor)

{

var esdivisor;

//No podemos dividir por 0

if (b==0){

    esdivisor = "error, el divisor es 0";

}

else

//Si el resto es cero si es un divisor     esdivisor = (numero % divisor == 0);

return esdivisor;

}

Debes tender a códigos en la segunda forma.