Consejos

En este apartado podréis ver todos esos fallos que nos hemos encontrado a lo largo de los ejercicios y debemos tratar de evitar en nuestros programas. ¡Tomad nota!

    • Hay que separar de manera muy clara la estructura de la página (HTML), la funcionalidad (javascript) y la apariencia (CSS). Por tanto, en la medida de lo posible, las páginas HTML incluirán en su head la información necesaria para importar las hojas de estilos y los archivos de javascript (.js).
    • Cuando utilizamos varias instrucciones de tipo if que son excluyentes las encadenamos con if-else o bien utilizamos un switch.
 MAL
if (opcion ==1)
{ //Instrucciones }
if (opcion == 2)
{ //Instrucciones }
if (opcion == 3)
{ //Instrucciones }
BIEN
   
if (opcion ==1)
{ //Instrucciones }
else if (opcion == 2)
{ //Instrucciones }
else if (opcion == 3)
{ //Instrucciones }
O bien:
switch (opcion)
case 1: //Instrucciones; break;
case 2: //Instrucciones; break;
case 3: //Instrucciones; break;
    • Hay que contemplar siempre todas las opciones que pueda meter el usuario. Si le decimos que meta un número entre el 1 y el 5, tenemos que pensar que puede que el usuario meta un 0, un 8 o incluso una palabra. Así que en el if-else que comprueba las opciones, al final habría que meter un else{//En caso de que no introduzca un valor válido} y si trabajamos con un switch necesitaremos una instrucción default:
 MAL
if (opcion ==1)
{ //Instrucciones }
else if (opcion == 2)
{ //Instrucciones }
else if (opcion == 3)
{ //Instrucciones }
BIEN
   
if (opcion ==1)
{ //Instrucciones }
else if (opcion == 2)
{ //Instrucciones }
else if (opcion == 3)
{ //Instrucciones }
else {//Instrucciones}
O bien:
switch (opcion)
case 1: //Instrucciones; break;
case 2: //Instrucciones; break;
case 3: //Instrucciones; break;
default: //Instrucciones;
O bien
switch (opcion)
case 1: //Instrucciones; break;
case 2: //Instrucciones; break;
case 3: //Instrucciones; break;

    • Cuando utilizamos variables que se repiten en diferentes bucles es mejor declararlas fuera y utilizarlas dentro. ¡Por ejemplo...!
 MAL
   if (opcion ==1)
BIEN
   
var nombre;
var apellido;
if (opcion ==1)
        {
            var nombre1 = valor1;
            var apellido1 = valor1;
        }
        else if (opcion == 2)
        {
            var nombre2 = valor2;
            var apellido2 = valor2;
        }
        {
            nombre = valor1;
            apellido = valor1;
        }
        else if (opcion == 2)
        {
            nombre = valor2;
            apellido = valor2;
        }
    • Hay que evitar que el usuario tenga que introducir palabras para seleccionar opciones: es mejor utilizar números.
 MAL
 var respuesta = prompt("Elija cómo quiere ordenar la tabla, al derechas o al revés");
if (respuesta =="derechas) {//Instrucciones}
else if (respuesta =="reves") {//Instrucciones}
BIEN
var respuesta = prompt("Elija cómo quiere ordenar la tabla \n 1) Al derechas \n 2) Al revés");
if (respuesta =="1") {//Instrucciones}
else if (respuesta =="2") {//Instrucciones}
    • Cuando en un objeto definimos métodos que permiten mostrar o guardar un atributo del mismo, utilizamos como nomenclatura get y set.
 MAL
 function persona (nom, ape, ed){
    //Atributos
    this.nombre = nom;
    this.apellido = ape;
    this.edad = ed;
   
    //Métodos
    this.anadirnombre = function (nom){
        this.nombre = nom
    }
    this.extraernombre = funcion(){
        return this.nombre;
    }
}
BIEN
 function persona (nom, ape, ed){
    //Atributos
    this.nombre = nom;
    this.apellido = ape;
    this.edad = ed;
   
    //Métodos
    this.setNombre= function (nom){
        this.nombre = nom
    }
    this.getNombre= funcion(){
        return this.nombre;
    }
}