Recentemente contei com a participação de um desenvolvedor .net em um projeto Flex e a partir disso surgiu alguns questionamentos sobre boas práticas para definir nomenclaturas. Uma vez que viemos de berços diferentes, comecei a me questionar se meu padrão de desenvolvimento estava realmente correto. De maneira resumida este Post apresenta boas práticas de nomenclatura usada em Flex e recomendadas pela Adobe.

A escolha de bons nomes é essencial para criar um código de fácil entendimento. Gastar tempo pensando na nomenclatura é um investimento e não perda de tempo. Isto evita encontrar incógnitas no código como variáveis nomeadas de “temp” ou “global”.

É importante evitar a qualquer custo o uso de abreviações, elas podem fazer sentido no momento do desenvolvimento mas no futuro pode gerar desgaste excessivo no seu entendimento. Ser claro é mais importante do que minimizar o tamanho da variável ou função. Salvo alguns casos que as maiorias dos programadores já estão acostumados.

  • Ao incorporar o tipo ao nome da variável opte por adicioná-lo ao final precedida de underscore.
    Ex: title_label, title_form, title_button;
  • Pacotes devem ser nomeados com substantivos ou gerúndios. Utiliza-se sempre iniciar o nome de pacote com letra minúscula; 
  • Interface sempre inicia com I em letra maiúscula concatenado com o nome a ser dado.
    Ex: IColorBar, IButton;
  • Classes são nomeadas com a primeira letra de cada palavra em maiúsculo.
    Ex: ColorBarEvent, ColorBarController, ColorBar;
  • Eventos e Estilos iniciam com letra minúscula seguido de letra maiúscula antes de cada palavra.
    Ex: creationComplete, preInitializer, color, fontSize;
  • Constantes, são representa sempre com letras maiúscula e “_” (underscore) entre as palavras.
    Ex: COLOR_OVER, COLOR_OUT;
  • Métodos são iniciados com letra minúscula precedido de letra maiúscula nas outras palavras.
    Ex: addChild, addElement;
  • Ouvintes de eventos, devem sempre ter a palavra “Handler” no final do nome dado.
    Ex: MouseUpHandler, creationCompleteHandler.