Comunidad de diseño web y desarrollo en internet

Simplificar código en Actionscript y Javascript

Desde que tengo uso de razón, mi sueño dorado ha sido aparecer en la portada de Cristalab. Para satisfacer tan caro anhelo, hoy me puse a escribir este tip, que espero que sea de utilidad para quienes programan en ActionScript. Aunque también aplica para Javascript. Son trucos muy básicos para los expertos de la programación, pero que pueden servir a novatos que inician.

A lo largo de ya muchos años de programar en AS he ido adquiriendo algunas prácticas que hacen más compacto y legible el código, facilitando así la depuración del mismo. Aquí anoto algunas de mis favoritas:

Incrementar o decrementar una variable numérica:


Código :

i++ //en lugar de i=i+1;
i-- //en lugar de i=i-1;
i+=2 //en lugar de i=i+2;

En un condicional if, para un valor Booleano


Código :

if(booleano==true){} //se puede sustituir simplemente con
if(booleano)

Así mismo, si sólo ponemos la variable en el argumento del if, nos detecta si esa variable tiene un valor:

Código :

if(variable) //devuelve true si tiene un valor; false si es igual a undefined o null

Omitir las llaves {} en sentencias cortas


Muchas veces escribimos sentencias de un solo renglón asociados a un comando if o a un loop for. Si es el caso, podemos omitir las llaves e incluso poner todo el condicional if en un solo renglón. Ejemplos:

Código :

if(unValor>0)  trace ("unValor")
else trace("nada");
for (i==0;i<10;i++) trace(i);

Asignación de variables condicionalmente (forma corta de if)


Esta es una de mis favoritas. Va el ejemplo:

Código :

//En lugar de
if (valor1==0){
   valor2=1;
} else{
   valor2=0;
}
//Ponemos
valor2=(valor1==9)?1:2;

Múltiples comandos en una sola línea


Esta no es una práctica muy recomendable porque pierde legibilidad el código. Sin embargo, yo la uso mucho para poner comandos trace, de tal manera que escribo una sola línea que después voy a borrar sin que me desmadre el resto del código.
Hay que recordar que AS interpreta el punto y coma como fin de línea. Así, podemos poner:

Código :

x=1;y=1;m=0;trace(x+" "+y+" "+m);

Uso de for...in y for each...in en lugar de loops for


Durante muchos años, por no investigar la forma de uso de otras opciones, utilicé exclusivamente el loop for "simple" para efectuar bucles. Las otras opciones son más prácticas en muchos casos.

for ... in devuelve los "nombres" de los elementos en un objeto o array:

Código :

var miArray=["a","b","c"];
for(var key:String in miArray)
   trace("miArray[" + key + "] = " + miArray[key]) // devuelve miArray[0] = a y así


for each ... in devuelve el objeto contenido

Código :

for each (var e:* in miArray)
   trace(e) //devuelve a, b, c

Uso de with


Nos evita la escritura repetitiva del nombre de un objeto. Ejemplo:

Código :

var miArray:Array=new Array()
miArray['a']="Letra A";
miArray['b']="Letra B";
miArray['c']="Letra C";

//Normal
trace(miArray.a) //Letra A;
trace(miArray.b) //Letra B;
trace(miArray.c) //Letra C;

//con "with"
with (miArray){
   trace(a) //Letra A;
   trace(b) //Letra B;
   trace(c) //Letra C;
}

Creo que todos los tips funcionan tanto en AS2 como en AS3. Si alguien tiene otra fórmula ahorracódigo, les agradeceré que las compartan.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate