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;
}
}