Folha de estilos - italopaiva/SiMCTA GitHub Wiki
Padrão de Codificação em Java
Versão 1.0
Histórico de Revisões
Data | Versão | Descrição | Autor |
---|---|---|---|
04/09/2015 | 1.0 | Criação do documento | Emilie Morais |
1. Idioma
- O idioma utilizado deve ser o inglês.
2. Arquivos
-
O nome do arquivo deve ser o mesmo nome da classe pública que o arquivo abriga.
-
O arquivo deve conter, em ordem:
- Declaração dos pacotes;
- Declaração das importações;
- Somente uma classe pública;
3. Pacotes (Package Statement)
- Os pacotes são declarados após qualquer comentário inicial em um arquivo fonte.
- Pacotes do tipo “java.” são listados primeiro, seguidos das classes das extensões de Java (pacotes do tipo “javax.”) e, por último, os pacotes das classes específicas do sistema e outras API’s utilizadas.
4. Importações (Import Statement)
- São declaradas após os pacotes.
5. Declaração de Classes
- Os nomes das classes devem começar com letra maiúscula, devem estar no singular e não podem ser abreviados.
- Para nomes com mais de uma palavra, cada palavra adicional também deve começar com letra maiúscula.
6. Ordem dos membros da classe
-
Após a declaração do nome da classe e de seus supertipos, segue-se a ordem a seguir de declarações:
- Comentários de implementação, se houver;
- Constantes;
- Variáveis de classe (modificador static);
- Variáveis de instância;
- Construtores;
- Métodos;
Exemplo 1:
// Nome do arquivo = FirstClass.java package mvc.model; import java.util.Scanner; public class FirstClass{ private String ClientName; public void registerClient(){ // Method body } }
7. Variáveis
-
Deve ser feita apenas uma declaração por linha.
-
Para variáveis de instância e de classe:
- Todas as variáveis devem ter nomes significativos, sem abreviações (exceto em casos de componentes visuais).
- Todas as variáveis formadas por uma única palavra devem ser escritas somente com letras minúsculas. As que são formadas por mais de uma palavra são escritas com a primeira letra em maiúscula de cada palavra adicional (padrão lowerCamelCase).
-
Para constantes:
- Os nomes de constantes não devem ser abreviados, possibilitando o maior entendimento possível.
- As palavras que compõem o nome da constante devem possuir todas as letras maiúsculas. No caso de nomes compostos é utilizado o underline para separar as palavras.
8. Métodos
- Os nomes dos métodos devem ser um verbo ou uma frase verbal que indique a utilidade do método.
- A escrita dos nomes deve ser em letra minúscula, e cada palavra adicional deve começar com letra maiúscula. (padrão lowerCamelCase)
- Não se deve abreviar os nomes de métodos.
Exemplo 2:
public class FirstClass {
private String clientName;
private int clientAge;
public FirstClass(){
// Constructor
}
public void registerCliente(){
// Method body
}
public void calculateAge(){
// Method body
}
}
9. Comandos
9.1 Estruturas Condicionais
- Estruturas de if/else devem possuir chaves para indicar seus blocos independente da quantidade de linhas.
- Sempre que utilizar do recurso if, necessariamente, utilize um else e escreva um comentário, mesmo que este pareça ser redundante.
- Na estrutura switch, o comando break deve estar na última linha do campo case.
- Todos os campos case devem conter chaves delimitando seus respectivos blocos.
- Toda estrutura switch deve conter uma cláusula default que, se vazia, deve haver um comentário.
9.2 Estruturas de repetição
- No laço de repetição for, a atribuição e comparação necessitam de espaço entre os termos.
- No laço de repetição while e do-while, a comparação necessita de espaço entre os termos.
Exemplo 3:
for(i = 0; i > tamanhoTurma; i++){
// Comando do for
}
while(i < TamanhoTurma){
// Comando do while
}
do{
// Comando do do while
} while(i < tamanhoTurma);
9.3 Tratamento de exceções
Exemplo 4:
try {
// Comando do try
}
catch(Exception e){
//Comando do catch
}
10.Espaçamentos e identação
10.1 Regras Gerais
- O código deve conter todas as chaves começando na mesma linha do comando.
- Serão utilizados como unidade de identação quatro (4) espaços em branco.
- Em métodos que recebem outros métodos como parâmetros, os métodos passados devem ser aplicados em uma variável antes de ser utilizados como parâmetros.
10.2 Linhas em branco
- A declaração de variáveis deve ser separada de qualquer outro código por uma linha em branco.
- Antes de um comentário deve se inserir uma linha em branco.
- Entre as sentenças package e import deve se inserir uma linha em branco.
- Entre blocos lógicos dentro de um método deve se inserir uma linha em branco.
- Entre declarações de métodos deve se inserir uma linha em branco.
- Entre a declaração da classe e o bloco das variáveis de instância deve se inserir uma linha em branco.
- No final do corpo de um método não é necessário deixar uma linha em branco entre o corpo e a chave.
10.3 Espaços em branco
- Para atribuições é necessário um espaço entre a variável e o conteúdo.
- Sempre que houver uso de vírgula (como em parâmetros de métodos), deve haver um espaço entre a vírgula e o termo subsequente. *Para comparações é necessário um espaço entre as variáveis ou valores em questão e o operador.
10.4 Quebra de linha
-
A linha é quebrada depois de uma vírgula.
-
A linha é quebrada antes de um operador.
-
A nova linha é alinhada com o começo da expressão do mesmo nível da linha anterior.
Exemplo 5:
public class FirstClass{ private String clientName; private int option; if(nomeCliente.isEmpty()){ // Bloco do if } else{ // Bloco do else } switch(opcao){ case 1:{ // Conteúdo case 1 break; } default:{ // Conteúdo default break; } } }
11. Comentários
-
O conteúdo dos comentários em uma única linha deve ser separado por um único espaço das barras duplas (‘//’), não sendo necessário o uso de ponto final para indicar o fim do comentário.
- Os comentários especiais de uma linha para destacar ou delimitar um grupo de linhas pode ser feito utilizando os delimitadores '/**' '*/'.
-
Já os comentários que precisem de mais de uma linha, os símbolos ‘/’ e ‘/’ devem estar cada um em uma linha diferente e o conteúdo do comentário em linhas diferentes das que se encontram os símbolos. No caso em que o contexto permitir, é necessário o uso de ponto final.
-
Ao gerar comentários em blocos, que precisam mais de uma linha, cada linha de comentário deve começar com "* " antes de seu conteúdo.
-
Todos os comentários devem começar com letra maiúscula.
-
Os comentários de documentação seguirão o padrão Java, utilizando os símbolos ‘/**’ e ‘*/’ como delimitações.
Exemplo 6:
// Comentários de uma linha para o programa /** Comentário especial de uma linha */ /* * Comentários com mais de uma linha para o programa. * Sempre com 1 espaço e letra maiúscula. */