Notação Húngara modificada para ActionScript

2006/Julho/18, por Roberto Gorjão | read this article in English

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.

4 comentários sobre “Notação Húngara modificada para ActionScript”

  1. Roberto Gorjão em 28 de Julho de 2006 às 16:23 :

    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.

  2. Glauco Basilio em 22 de Outubro de 2006 às 3:32 :

    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.

  3. Glauco Basilio em 22 de Outubro de 2006 às 4:19 :

    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/

  4. Roberto Gorjão em 23 de Outubro de 2006 às 10:55 :

    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.

Deixe um comentário




Tags XHTML permitidas:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


Código de Barras do IBSN