Wiki
Convenção desenvolvedor/Convenção código/Indentação
Quatro espaços devem ser utilizados como unidade de indentação.
Recomenda-se configurar previamente o editor de código para que esta configuração seja considerada automaticamente durante as tabulações.
Comprimento da linha #
Evite linhas maiores que 120 caracteres, geralmente não mais que 100 caracteres.
Quebra de linhas #
Quando uma expressão não se ajusta somente em uma linha, quebre-a de acordo com estes princípios gerais:
- quebre depois de uma vírgula;
- quebre antes de um operador;
- prefira quebras de maior nível a quebras de menor nível;
- alinhe a nova linha com o início de uma expressão no mesmo nível da linha anterior;
- se as regras acima levarem a um código confuso ou que ultrapasse a margem direita,
- use então indentação com oito espaços.
Quebra em chamada de método #
Eis alguns exemplos de quebra em chamadas de métodos:
metodo(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = metodo1(longExpression1,
metodo2(longExpression2,
longExpression3));Os dois exemplos a seguir são de quebra de expressões aritméticas. O primeiro é o preferido, uma vez que a quebra ocorre fora da expressão entre parênteses, a qual está em um nível mais alto.
longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6; // PREFIRA ESTA QUEBRA
longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6; // EVITE ESTA QUEBRAQuebra em declaração de método #
Os dois exemplos a seguir são de indentação para declarações de métodos. O primeiro é o caso convencional. No segundo exemplo poderia ser deslocada a segunda e terceira linha para a direita, ao invés de indentar somente com oito espaços.
// INDENTAÇÃO CONVENCIONAL
algumMetodo(int umArg, Object outroArg, String aindaOutroArg,
Object maisOutroAinda) {
...
}
// INDENTAÇÃO COM 8 ESPAÇOS PARA EVITAR INDENTAÇÕES PROFUNDAS
private static synchronized metodoComNomeComprido(int umArg,
Object outroArg, String aindaOutroArg,
Object maisOutroAinda) {
...
}Quebra em declaração de condicional #
Quebra de linha para declarações condicionais “if” deveriam usar a regra de 8 espaços, uma vez que a indentação convencional (4 espaços) dificulta a visão do bloco de código. Por exemplo:
// NÃO USE ESTA INDENTAÇÃO
if ((condição1 && condição2)
|| (condição3 && condição4)
||!(condição5 && condição6)) { // QUEBRA RUIM
executarAlgumaCoisa(); // TORNA ESTA LINHA FÁCIL DE SE PERDER
}
// AO INVÉS DISSO, USE ESTA INDENTAÇÃO
if ((condição1 && condição2)
|| (condição3 && condição4)
||!(condição5 && condição6)) {
executarAlgumaCoisa();
}
// OU USE ESTA OUTRA INDENTAÇÃO
if ((condição1 && condição2) || (condição3 && condição4)
||!(condição5 && condição6)) {
executarAlgumaCoisa();
}Quebra em operador ternário #
Aqui são apresentadas três maneiras aceitáveis para se formatar operadores ternários:
alfa = (umaLongaExpressaoLogica) ? beta : gama;
alfa = (umaLongaExpressaoLogica) ? beta
: gama;
alfa = (umaLongaExpressaoLogica)
? beta
: gama;