AS3 ha alcune regole imbarazzanti sull'ambito della variabile, a causa del suo uso del sollevamento. Non mi piace inutilmente lasciare in giro una serie di avvertenze sul compilatore, ma è più importante per me che il mio codice sia leggibile e scritto correttamente, a prescindere. Questo produce un paio di avvertimenti duplicati di definizione delle variabili:
private function arrangeElementsLine(pElementSize:Dimensions):void
{
if (m_eOrientation == HORIZONTAL)
{
for (var i:uint = 0; i < target.numElements; i++)
{
var layoutElement:ILayoutElement = target.getElementAt(i);
layoutElement.setLayoutBoundsSize(pElementSize.x, pElementSize.y);
layoutElement.setLayoutBoundsPosition(pElementSize.x * i, 0);
}
}
else
{
for (var i:uint = 0; i < target.numElements; i++)
{
var layoutElement:ILayoutElement = target.getElementAt(i);
layoutElement.setLayoutBoundsSize(pElementSize.x, pElementSize.y);
layoutElement.setLayoutBoundsPosition(0, pElementSize.y * i);
}
}
}
È generalmente considerato migliore e più convenzionale rimuovere la sintassi ridondante var
e :<type>
per i
e layoutElement
nel secondo ciclo for
, o è più corretto lasciarli semplicemente in là (a causa del modo in cui il loro utilizzo è isolato da quei due cicli for
)? Grazie!
Modifica
Questo è stato chiesto qualche tempo fa, ma quando ho chiesto questo, parte di ciò a cui stavo lavorando stava facendo funzionare qualcosa in modo più efficiente; quindi ho messo if
al di fuori di qualsiasi istruzione for
e ho evitato chiamate di metodo all'interno delle istruzioni for
.