segunda-feira, 24 de dezembro de 2012

Convenções de Código em Java

É difícil imaginar, em determinada área de estudo, a não utilização de padrões para tornar mais estreita a comunicação entre os profissionais ou estudantes: por exemplo, o padrão utilizado na matemática para o uso do parêntesis '()', chaves '{}' e colchetes '[]', bem como os demais símbolos. Na engenharia de software também é assim. Os programadores de um determinado projeto devem falar a mesma língua, apesar de muitas vezes usarem várias linguagens de programação ao mesmo tempo (no caso de aplicações web), o códigos códigos gerados pelos programadores devem ser perfeitamente claros entre eles, pelo lado do profissionalismo, isso evita com que determinado projeto esteja ameaçado pelo desligamento de determinado(os) programador(es).Daí a importância das convenções de código.

Mais vantagens ao utilizar Convenções

  • O tempo gasto na melhoria do código é pequeno, comparado ao tempo de análise e programação efetivamente. Mesmo após o fim de determinada tarefa ou função específica de um componente, dificilmente o código não será editado novamente.
  • Aumento da Produtividade e diminuição do tempo de treinamento.
  • Baseando-se nas boas práticas aumenta a escalabilidade do código, não necessitando muitas alterações no caso de manutenção.

Código em Java

Em Java, como é uma linguagem de programação poderosa e firmada no mercado, certamente existem convenções de codificação específicas para dar legibilidade e potencializar suas características. Vejamos alguns exemplos:

Convenções de Nomeação:

  1. Usar nomes que descrevam com exatidão a variável. Ex.: nome, endereco, total.
  2. Combinar letras maiúsculas e minúsculas para facilitar a leitura de nomes compostos: Ex.: primeiroNome, dataNascimento, subTotal,etc.
  3. Evitar nomes maiores que 14 caracteres.
  4. Evitar nomes com underscore('_') no início ou no fim de um nome.
  5. Variáveis como vetores ou matrizes devem ser nomeados no plural.
  6. Renomear os componentes nomeados automaticamente por uma IDE para um valor que represente bem o que o componente é e o que ele faz.
  7. A importante a nomeação de constantes com letras Maiúsculas com nomes compostos separados por underscore '_'.

Convenções de comentários

  1. Evitar enfeites, não desperdiçar o tempo de documentação com coisas que pouco acrescentam ao produto final.
  2. Manter os comentários simples e diretos.
  3. Explicar o porquê do código, não somente explicar o código em si.
  4. Comentários em javadoc '/** */' para documentação de declarações de funções, interfaces, classes e campos.
  5. Comentários estilo C/C++ '/* */' para documentar linhas de código que não são mais utilizadas juntamente com uma descrição.
  6. Comentários de linha única '//' para documentação da regra de negócio, seções de código e declaração de variáveis temporárias.

Funções de acesso a membros

  1. Os famosos getters and setters, usados para acesso a uma variável membro encapsulada da classe, devem seguir o padrão: 'get' ou 'set' + nome da variável com primeira letra maiúscula.Caso seja uma variável booleana, deve-se obedecer o padrão: is + nome da variável com letra maiúscula caso esteja retornando o valor da variável(GET), caso contrário, usar o padrão SET normalmente.
    public class Carro{
     private String modelo;
     private boolean pinturaCristalizada;
    
     public void setModelo(String modelo){
      this.modelo = modelo;
     }
     
     public String getModelo(){
      return this.modelo;
     }
    
     public boolean isPinturaCristalizada(){
      return this.pinturaCristalizada;
     }
    }
    
  2. Se uma função de acesso a membro for maior que uma tela, está muito grande e deve ser quebrada.
  3. Adicionar linhas em branco podem aumentar a legibilidade, separando em blocos de instruções.
  4. A nomeação de parâmetros para funções devem ser igual ao nome função membro, porém ao uso da função membro no corpo da função acrescentar a diretiva this. antes da variável para certificar que está usando a variável membro da classe.
  5. Comentários de Início de arquivo: Comentário de múltiplas linhas no formato C/C++ com o nome do autor, a data de criação, o nome da classe, a versão
    /*
     * Classname
     *
     * Version
     *
     * Copyright
     */
    

Bom Senso:

Lembrando que a regra do bom senso sebrepõe todas as outras, em determinados contextos não há ações que justifiquem o uso dos desses padrões.Os IDE geralmente ,na

Conclusão

As convenções de código existem para facilitar o dia-a-dia da comunidade Java em geral, desenvolvendo as boas práticas para um melhor entendimento do código fonte, o que se torna benéfico para programadores e empresas em diversos aspectos. Pense em você como programador recém contratado em uma empresa com um projeto já em andamento, você recebe um código de terceiro para manutenção e o quê gostaria de receber? Um código padronizado ou uma sopa de letrinhas? Esses são alguns exemplos importantes e existem ainda muito mais, tenho certeza que que o empenho em aplicar essas regras irá agregar valor ao seu código sem efeitos colaterais. Lembrando que pouco tempo que se gasta na adoção dos padrões diminuirá muito o tempo de manutenção.

fontes:
Certificação Java 6, A Bíblia. Autor: Roberto Rubenstein Serson, Editora: Brasport
http://www.devmedia.com.br/convencoes-de-codigo-java/23871
http://grupohaw.com.br/2009/09/28/convencoes-de-codigo-2/
http://www.wthreex.com/rup/manuals/java/java.htm

Nenhum comentário:

Postar um comentário