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 QUEBRA
Quebra 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;