É 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:
- Usar nomes que descrevam com exatidão a variável. Ex.: nome, endereco, total.
- Combinar letras maiúsculas e minúsculas para facilitar a leitura de nomes compostos: Ex.: primeiroNome, dataNascimento, subTotal,etc.
- Evitar nomes maiores que 14 caracteres.
- Evitar nomes com underscore('_') no início ou no fim de um nome.
- Variáveis como vetores ou matrizes devem ser nomeados no plural.
- Renomear os componentes nomeados automaticamente por uma IDE para um valor que represente bem o que o componente é e o que ele faz.
- A importante a nomeação de constantes com letras Maiúsculas com nomes compostos separados por underscore '_'.
Convenções de comentários
- Evitar enfeites, não desperdiçar o tempo de documentação com coisas que pouco acrescentam ao produto final.
- Manter os comentários simples e diretos.
- Explicar o porquê do código, não somente explicar o código em si.
- Comentários em javadoc '/** */' para documentação de declarações de funções, interfaces, classes e campos.
- Comentários estilo C/C++ '/* */' para documentar linhas de código que não são mais utilizadas juntamente com uma descrição.
- 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
- 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; } } - Se uma função de acesso a membro for maior que uma tela, está muito grande e deve ser quebrada.
- Adicionar linhas em branco podem aumentar a legibilidade, separando em blocos de instruções.
- 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.
- 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 ,naConclusã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