2010-12-09 12 views
6

veo a mis compañeros de trabajo utilizan esta sintaxis horrible mucho:esta [ "nombreinstancia"] sintaxis

var mc1: MovieClip; 
var mc2: MovieClip; 
var mc3: MovieClip; 
var mc4: MovieClip; 
var mc5: MovieClip; 

for (var i:int = 1; i <= 5; i++) { 
    addChild(this["mc" + i]); // UURRGGHHH 
    TweenLite.to(this["mc"+i], 1, {alpha: 0}); // FNNNGGGGGHHHH 
} 

Porque soy un césped mandona, Estoy armando una lista de razones por las que deberían usa arreglos para iteración, no desagradable sintaxis de corchetes cuadrados. Sé que está mal usar esa sintaxis, pero no puedo pensar en suficientes razones convincentes por las que deberían abandonarla.

Dame algunos datos, por favor.

+0

¿Mantenibilidad? – Maurycy

+0

Sí, estoy de acuerdo. Legibilidad también – hamishtaplin

+0

+1 por plantear una pregunta sobre un odio por mascota :) – Allan

Respuesta

8
  • Usar una matriz facilita agregar otro artículo. No tiene que declarar una nueva variable.
  • No tiene que modificar el límite de su bucle for cuando agrega otro elemento.
  • Solo tiene una variable para cambiar el nombre si es necesario.
  • Te ayuda a pensar de manera fructífera cuando puedes reconocer una colección de cosas mediante una definición semánticamente útil.
6

Tipo de seguridad.

La sintaxis de paréntesis cuadrados no dará como resultado un tipo decente para que el compilador pueda verificar los problemas en tiempo de compilación. No muestro piedad a las personas que acuden a mí con excepciones de tiempo de ejecución causadas por problemas de tipo.

En serio, el sistema de tipo en AS3 está ahí por una razón. Úselo. No descubra formas de evitarlo. Previene problemas.

0

Un hecho: uso de manera similar esta tarde.

Pero, a continuación forma puedan cumplir 'su' expection:

mcs var: Array = [MC1, MC2, MC3, MC4, MC5];

for (var i: int = 1; i < = mcs.length; i ++)
{
addChild (mcs [i]);
TweenLite.to (mcs [i], 1, {alpha: 0});
}

4

voy a discutir con usted aquí, y decir que no se debe utilizar matrices, pero vectores.

+0

Nunca he tocado vectores debido a estar en CS3 por tanto tiempo. Ahora estoy usando CS5, los echaré un vistazo. +1 por llamar mi atención. Los vectores – hamishtaplin

+0

son mejores porque ha agregado seguridad tipo, y debido a eso la iteración es mucho más rápida también. – Daniel

Cuestiones relacionadas