Telescope (core)
Regras de codificação para os sistemas da PRD
ADS.FAQ-18373
Este artigo estabelece o padrão de codificação dos sistemas desenvolvidos pela PRD. Este padrão deve ser sempre utilizado a não ser que o desenvolvimento seja um projeto para um cliente que exige um padrão diferente.
Objetivo
As regra de codificação existem para dar manutenibilidade do código. Para tal, precisamos que ele tenha as seguintes características:
- Legibilidade: Qualquer codificação DEVE deixar claro o que está sendo feito.
- Simplicidade: O código DEVE ser o mais simples possível. Quando a tarefa não for simples, a complexidade deve ser desmembrada em partes, geralmente formada por métodos que possuam um nome significativamente claro.
Regras gerais
- Utilizar nomes de variáveis que indiquem claramente o seu significado. Não utilizar váriáveis como nomes tipo "tmp". Variáveis tipo "i", "x", "j", podem ser utilizadas somente como contadores dentro de blocos de repetição para iterar nos elementos de um array, por exemplo.
- Declarar variáveis locais o mais próximo de seu uso possível.
- Onde possível, testar condições e validações na ordem inversa de seu custo, ou seja, quando houver um teste que pode evitar o outro teste, faça primeiro o teste que requer menos processamento.
- Quando a lógica permitir, evite o número de condições aninhadas em vários níveis.
- Um método deve fazer um única tarefa.
Um único ponto de saída
Sempre que possível, deve-se evitar que uma rotina tenha vários "return". Este tipo de prática desestrutura o código e deve ser evitado. Procure fazer com que os métodos tenham um único ponto de saída.
Comentários no código
Um código muito bem feito praticamente não precisa de comentários. Jamais devem ser incluídos comentários para coisas óbvias. Comentários desnecessários apenas poluem o código e devem ser evitados. Comentários devem ser utilizados apenas para coisas que não estão claras no código ou para justificar alguma ação.
"if" com código só no "else"
O código abaixo não dever ser realizado:
if (condicao) {
// nao faz nada
} else {
...
}
Parenteses obsoletos
Evitar coisas tipo:
if ((x == y)) {
...
Operador ternário
Se for necessário indentar um operador ternário, deve-se fazer da seguinte forma:
String msg = x > y
? "Xiz"
: "Ipslon";
Deve-se evitar encadear operadores ternários. A única exceção seria uma relação de condição->valor:
System.out.println(
x > 3 ? "Maior que tres":
x > 2 ? "Maior que dois":
x > 1 ? "Maior que um":
"Igual ou menor que 1");
Ver também