sábado, 13 de outubro de 2012

Identificadores e JavaBeans


Este post irei explicar alguns conceitos referente às declarações, identificadores e nomeação JavaBeans.

Identificadores Java

Existem três tipos de identificadores Java que são:
  • Identificadores Legais trata-se das regras que o compilador usa para determinar se um determinado compilador é legal.
  • Convenções de Código Java da Sun trata-se das recomendações da Sun para nomeação de classes, variáveis e métodos estes identificadores não são obrigatórios e não geram erro de compilação, mas por boa prática e altamente recomendada a utilização.
  • Padrões de Nomeação JavaBeans trata-se dos requisitos de nomeação do da especificação JavaBeans.

Identificadores Legais

Tecnicamente os identificadores legais devem ser compostos apenas de caracteres Unicode, números, símbolos de moedas e caracteres de conexão (como underscore/underline) e seguir as seguintes regras:
  • Os identificadores devem começar com uma letra, um cifrão ($) ou um caractere de conexão. Nunca deve-se utilizar um número para começar o identificador.
  • Os identificadores Java são case-sensitive, ou seja, um identificador nome e um identificador Nome são totalmente diferentes.
  • Não se pode usar uma palavra chave Java como identificador.

Convenções de Código Java da Sun

A Sun criou um conjunto de padrões de programação para o Java e publicou esses padrões em documento que pode ser encontrado http://java.sun.com. Abaixo segue uma parte deste documento que trata sobre os padrões de nomeação.
  • Classes e interfaces a primeira letra deve ser maiúsculo e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra interna deve ser maiúscula este formato é conhecido como camelCase. Para classes os nomes devem ser normalmente substantivos abaixo seguem alguns exemplos:
    • Cachorro
    • Gato
    • Animal
    • Conta
    • Banco
Para interfaces os nomes devem normalmente serem adjetivos:
    • Executavel
    • Amavel
    • Adoravel

  • Métodos a primeira letra deve ser minúscula, e depois as regras camelCase normais devem ser usadas, além disso os nomes devem ser pares de verbo-substantivo tais como:
    • obterSaldo
    • fazerAndar
    • definirNome
Os nomes dos métodos em muitos códigos serão encontrados com o verbo em inglês, por exemplo os métodos acima poderiam ser encontrados da seguinte maneira:
    • obterSaldo -> getSaldo
    • fazerAndar -> doAndar
    • definirNome – setNome
  • Variaveis como no métodos, o formato camelCase deve ser usado, começando com uma letra minúscula. A Sun recomenda usar nomes curtos e significativos tais como:
    • tamanhoDoAnimal
    • saldoEmConta
    • nomePessoa
  • Contantes As constantes Java são criadas marcando-se variáveis como static e final. Elas devem ser nomeadas usando-se letras maiúsculas e com caracteres underscore como separadores tais como:
    • ALTURA_MINIMA
    • ALTURA_MAXIMA
    • SALDO_MINIMO

Padrões de Nomeação JavaBeans

Resumidamente JavaBeans são classes que contem propriedades(variáveis) private, esse tipo de propriedade só pode ser acessada de fora da classe através de métodos públicos. Os métodos responsáveis por modificar esse tipo de propriedade são chamados de setter os métodos reesposáveis por recuperar o valor desse tipo de propriedade são chamados de getter.
A especificação JavaBeans foi criada para ajudar os desenvolvedores a criarem componentes Java que possam ser facilmente usados por outros desenvolvedores em uma ferramenta de Ambiente de Desenvolvimento Integrado (“Integrated Development Environment, ou IDE”) como o Eclipse e o NetBeans.
Abaixo seguem as regras de nomeação do JavaBeans mais utilizadas:
  • Se a propriedade não for booleana, o prefixo do método getter deve ser get. Não é necessário ter uma propriedade para se ter um método getter(embora alguns IDEs esperam que você a tenha), o que você ira retornar no método getter fica a seu critério respeitando sempre o mesmo tipo do método set caso exista. Esses métodos devem sempre serem marcado como public.
    • public String getNome();
    • public int getTamanho();
  • Se o propriedade for booleana, o prefixo do método getter pode ser get ou is (utilizo este) este tipo de variável deve sempre retornar true ou false.
    • public boolean getAndando();
    • public boolean isAndando();
  • O prefixo de um método setter deve ser set, neste caso o método espera um valor para set adicionado a propriedade estes métodos devem ser marcadas como public com um tipo de retorno de void.
    • setNome(String nome);
    • setTamanho(int tamanho);
  • A primeira letra do nome da propriedade logo após o prefixo deve ser em maiúsculo e o restante deve ser o nome da propriedade completo.
    • Para uma propriedade “nome” o método get será getNome();
    • Para uma propriedade “idadeNascimento” o método get será getIdadeNascimento();
A especificação JavaBean tem suporte  a evento que permitem aos componentes notificarem um ao outro quando algo acontece. Os objetos que recebem a informação de que ocorreu um dado evento são chamados de listener. Os métodos usados para adicionar ou remover listener de um evento devem seguir os seguintes padrões de nomeação.
  • Os nomes de métodos listeners usados para “registrar” um listener com uma fonte de eventos devem usar o prefixo add, seguido do tipo do listener.
    • public void addAcaoListener(AcaoListener l);
    • public void addMeuListener(MeuListener m);
  • Os nomes de métodos listener usados para remover um listener devem usar o prefixo remove seguido do tipo do listener.
    • public void removeAcaoListener(AcaoListener l);
    • public void removeMeuListener(MeuListener m);
  • Os nomes do métodos listener devem terminar com Listener;
Qualquer problema ou duvida ou caso tenham algo a acrescentar fiquem a vontade.

Grato pela atenção,
Att,
Diego

Nenhum comentário:

Postar um comentário