No artigo anterior subscrevi a utilização da notação húngara para identificadores em JavaScript. Subscrevi também os prefixos propostos por Nicholas Zakas. Hoje, trago a discussão a notação húngara, especialmente modificada para ActionScript, proposta por Robert Reinhardt e Joey Lott. O uso da notação húngara para o ActionScript 2.0 tem vindo a ser criticada por alguns, uma vez que o novo modo de declaração de variáveis (strong typing), introduzida por esta nova versão, já contempla a indicação do seu tipo. Em todo o caso, a notação húngara não se resume apenas aos tipos de identificadores mas contempla também os seus usos. Sempre que estes forem passíveis de tipificação e sistematização temos boas razões para recorrermos a este género de notação.
A notação proposta por R.R. e J.L. é bastante mais complexa e menos óbvia do que a proposta por Zakas: muitos dos seus items correspondem apenas a diferentes utilizações do mesmo tipo de dados e são, por consequência, subjectivos. Por outro lado, alguns dos tipos propostos por Zakas, como o “f” para “float” ou o “i” para “integer”, não estão contemplados, mas também não fariam sentido pois as variáveis numéricas em ActionScript não admitem estas especificações, antes sendo todas tratadas como sendo do tipo “number” – o que elimina a possibilidade de uma correspondência absoluta entre uma notação para JavaScript e outra para ActionScript
. Preferi então reproduzir a proposta integral de R.R. e J.L. e adicionar apenas dois dos tipos sugeridos por Zakas (a negrito): o “fn” para “function” e o “re” para “regular expression” (1). Ainda que acredite que o uso de uma notação deste género possa beneficiar a legibilidade e consistência do código, e espere que possam encontrar-lhe alguma utilidade, reconheço que o uso da notação húngara no ActionScript 2.0 traz muito menos benefícios do que no JavaScript. Mesmo aqueles que a usam ou que a sugerem apresentam-na sempre como meramente opcional e o seu uso não está incluído nas “melhores práticas” recomendadas pela Adobe para o ActionScript 2.0 (ao contrário da notação “camel”, que é fortemente recomendada).
| Tipo de dados | Prefixo |
|---|---|
| Array | a |
| Boolean | b |
| Button | bt |
| Color | c |
| Camera | cam |
| ContextMenu | cm |
| ContextMenuItem | cmi |
| Date | d |
| Function | fn |
| LocalConnection | lc |
| LoadVars | lv |
| MovieClip | mc |
| MovieClipLoader | mcl |
| Microphone | mic |
| Number | n |
| NetConnection | nc |
| NetStream | ns |
| Object | o |
| PrintJob | pj |
| RecordSet | rs |
| Regular Expression (1) | re |
| String | s |
| Sound | snd |
| SharedObject | so |
| TextField | t |
| TextFormat | tf |
| Video | vid |
| XML | xml |
| XMLSocket | xmls |
Fonte: Notação húngara, modificada para ActionScript, proposta por Robert Reinhardt e Joey Lott no seu livro “Flash MX 2004 ActionScript Bible”. As entradas a negrito são retiradas da notação húngara proposta por Nicholas Zakas para o JavaScript.
(1) – As “regular expressions” serão suportadas pelo ActionScript 3.0, de forma nativa. Entretanto, é possível o uso destas expressões recorrendo a uma das várias classes especialmente desenvolvidas para o efeito.

Dei início a uma pequena discussão, na mailing list do Web Standards Group, sobre o uso da notação húngara. Podem encontrá-la aqui.
sobre o link RegExp:
1 - perece que o seu link vai levar o cara em direção a várias classes. Quando na verdade é só uma. Muito boa por sinal. Apenas um “senão”:
2- A classe só funciona com Actionscript 1.0 pelo menos eu não consegui fazê-la funcionar com o 2.0. O próprio projeto de exemplo está configurado para o player 5 do flash.
3 - estou atrás de uma classe regexp compátivel com AS2.0 se eu achar posto aqui pois achei o blog muito interesante.
As2lib
tem algumas classes para RegExp. Mas a idéia em si é muito maior. A implementação RegExp é semelhante a implementação do java. pelo menos é o que conta o site confira: http://www.as2lib.org/
Glauco,
Obrigado pelo interesse, pela atenção do link e pelos comentários.
O link do meu artigo, apesar de apontar para uma única página, remete de facto para várias classes uma vez que o autor dessa página por sua vez aponta para outras logo na introdução.
O projecto “as2lib” é novo para mim. Parece bastante complexo. Não o explorarei pois parece ter ainda muita falta de documentação e estar parado há já algum tempo. Em todo o caso, obrigado pelo link.
Uma solução para si poderá ser também começar desde já a utilizar o ActionScript 3.0.. Estes links poderão ajudá-lo: Beginners Guide to Getting Started with AS3 (Without Learning Flex) e Adobe® Flex™ 2 Language Reference. Pessoalmente, ainda não comecei a fazê-lo, mas, uma vez que o ActionScript suporta as expressões regulares de raíz, poderá revestir-se de algum interesse. Os utilizadores terão todavia de ter o Flash Player 9 para visualizarem as suas animações/aplicações.
Finalmente, caso trabalhe muito com classes, poderá também ser do seu interesse utilizar, se não o faz ainda, o SE|PY ActionScript Editor. Recentemente tive de escrever uma classe com mais de 600 linhas de código e não o teria conseguido sem este editor.