Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Entra o Registrate
Foros
Blog
Tutoriales
Cursos
Videotutoriales
Buscar..
Comic
Qu quieres buscar?
Buscar
Buscar
rabi.
Tecnologia y otros
Otros tutoriales por
Desde que tengo uso de razn, mi sueo 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 tambin aplica para Javascript. Son trucos muy
bsicos para los expertos de la programacin, pero que pueden servir a novatos que inician.
A lo largo de ya muchos aos de programar en AS he ido adquiriendo algunas prcticas que
hacen ms compacto y legible el cdigo, facilitando as la depuracin del mismo. Aqu anoto
algunas de mis favoritas:
Cdigo :
Cdigo :
As mismo, si slo ponemos la variable en el argumento del if, nos detecta si esa variable tiene un
valor:
Cdigo :
//En lugar de
if (valor1==0){
valor2=1;
} else{
valor2=0;
}
//Ponemos
valor2=(valor1==9)?1:2;
Durante muchos aos, por no investigar la forma de uso de otras opciones, utilic exclusivamente
el loop for "simple" para efectuar bucles. Las otras opciones son ms prcticas en muchos casos.
for ... in devuelve los "nombres" de los elementos en un objeto o array:
Cdigo :
var miArray=["a","b","c"];
for(var key:String in miArray)
trace("miArray[" + key + "] = " + miArray[key]) // devuelve
miArray[0] = a y as
Uso de with
Nos evita la escritura repetitiva del nombre de un objeto. Ejemplo:
Cdigo :
Creo que todos los tips funcionan tanto en AS2 como en AS3. Si alguien tiene otra frmula
ahorracdigo, les agradecer que las compartan.
Sabes SQL? No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y ms con el Curso
Profesional de Bases de Datos que empieza el martes, en vivo.
Envia un comentario (14)
rabi :
//En lugar de
if (valor1==0){
valor2=1;
} else{
valor2=0;
}
//Ponemos
valor2=(valor1==9)?1:2;
Te recomiendo que pongas exactamente el mismo ejemplo, ya que los 2 cdigos que has
puesto hacen cosas "distintas", y eso al principio me despist.
No conoca esa forma de condicin, pero acabo de experimentar, y he llegado a la
conclusin de que la sintaxis es
Cdigo :
condicion?valor_verdadero:valor_falso
Que corresponde a:
Cdigo :
if(boole){
trace("Verdadero")
}else{
trace("Falso")
}
nestorrente :
Te recomiendo que pongas exactamente el mismo ejemplo, ya que los 2 cdigos que has
puesto hacen cosas "distintas", y eso al principio me despist.
valor2=(valor1==9)?1:2;
debe decir
Cdigo :
valor2=(valor1==0)?1:2;
Un detalle.
El hecho de que agregues mltiples cosas sin ningn espacio entre ellas, y amontonarlas
en una sola linea NO significa que el cdigo se haya optimizado. Mucho menos significa
que se haya vuelto mas legible... De ah en mas parece un buen aporte.
rabi :
nestorrente :
Te recomiendo que pongas exactamente el mismo ejemplo, ya que los 2 cdigos que has
puesto hacen cosas "distintas", y eso al principio me despist.
valor2=(valor1==9)?1:2;
debe decir
Cdigo :
valor2=(valor1==0)?1:2;
muy cortas, como en el ejemplo que se marca. Tambin me ahorra tiempo en el scroll
Hola,
la correccin sigue teniendo un fallo, sera:
Cdigo :
//En lugar de
if (valor1 == 0) {
valor2 = 1;
} else {
valor2 = 0;
}
//Ponemos
valor2 = (valor1 == 0) ? 1 : 0;
En cuanto a lo de omitir las llaves, personalmente creo que slo mejora si el if o for va a quedar en
una lnea, pero no si metemos un else
Cdigo :
Y en cuanto a meter mltiples comandos en una lnea, creo que hay ciertos casos en los que mejora
la legibilidad, por ejemplo:
Cdigo :
x1 = 1; y1 = 0; z1 = 0;
x2 = 1; y2 = 1; z2 = 0;
x3 = 1; y3 = 0; z3 = 1;
Creo que es ms fcil reconocer as una matriz identidad 3x3 que si lo ponemos todo en una lnea.
isidoro :
Y en cuanto a meter mltiples comandos en una lnea, creo que hay ciertos casos en
los que mejora la legibilidad, por ejemplo:
Cdigo :
x1 = 1; y1 = 0; z1 = 0;
x2 = 1; y2 = 1; z2 = 0;
x3 = 1; y3 = 0; z3 = 1;
Creo que es ms fcil reconocer as una matriz identidad 3x3 que si lo ponemos todo
en una lnea.
Por cierto, he cometido una errata al poner la matriz identidad (esto del copy - paste es lo que tiene
).
Cdigo :
x1 = 1; y1 = 0; z1 = 0;
x2 = 0; y2 = 1; z2 = 0;
x3 = 0; y3 = 0; z3 = 1;
Estuve revisando las recomendaciones (best practices) de este sitio y me encontr la lnea que
transcribo:
Adobe :
If the various branches of an if/else statement involve single statements, don't make them into
blocks.
Do this:
if (flag)
doThing1();
Not this:
if (flag)
{
doThing1();
}
And this:
if (flag)
doThing1();
else
doThing2():
Not this:
if (flag)
{
doThing1();
}
else
{
doThing2();
}
But if any branch has multiple statements, make all of them into blocks.
Muy bueno el enlace, sobre todo me quedo con estas dos cosas:
1. La invitacin a no usar ms los sufijos del tipo "_mc" sino estandarizar el uso de notacin Camel
Case.
2. La forma de indicar un array de tipos de datos (como AS no los soporta, as por lo menos se sabe
desde un principio qu es lo que van a contener):
Cdigo :
En el tema de poner o no varias sentencias en una lnea, tiene razn en que ponindolo en varias
puedes usar breakpoints en cada una de ellas.
Y en cuanto a usar o no llaves en los if, ahora que lo veo me parece mucho ms legible usando
indentacin en caso de que se omitan (aunque as los cdigos van a acabar parecindose ms a
Python que a AS3
):
Cdigo :
if (flag)
doThing1();
else
doThing2();
buena pagina
muy buenos tips los de este espacio, lo k pasa es k soy nueva en flash y no c aun como declarar un
valor de tipo numerico y k no se vea de tipo texto si pueden ayudarme se los agradecere
infinitamente...
Hola. Muy bien porque te hayas querido compartir tus conocimeientos. Pero antes de postear
deberas chequear bien de no cometer erratas. Porque para los que no estamos bien familiarizados
con la sintaxis de lenguajes scripts esos tips terminar por producir efecto contrario al esperado.
Saludos
Hola, estoy buscando un programa para minimizar el cdigo de mis archivos Java Script. S que hay
programas que lo hacen pero no s cmo buscarlos.
A lo que me refiero con minimizar es que una vez que tienes tu cdigo de Java Script como este:
for(a=b;a<c;a++){d="hola "+a;}
Para que de esta manera la descarga sea mucho ms gil. Alguien sabe algo al respecto?
Publica tu comentario
Tu nombre:
Publicar
Publicar