7 Declaraciones

7.1 Cantidad por línea

Se recomienda una declaración por línea, ya que facilita los comentarios. En otras palabras, se prefiere:

int nivel; // nivel de indentación
int tam; // tamaño de la tabla

En lugar de:

int foo, fooarray[]; // No es fácil de leer

Nota: Los ejemplos anteriores usan un espacio entre el tipo y el identificador. Una alternativa aceptable es usar tabuladores, por ejemplo:

int level; // nivel de indentacion
int size; // tamaño de la tabla
Object currentEntry; // entrada de la tabla seleccionada
actualmente

7.2 Inicialización

Intentar inicializar las variables locales donde se declaran. La única razón para no inicializar una variable donde se declara es si el valor inicial depende de algunos cálculos que se deben de hacer en otra línea de código.

7.2 Colocación

Poner las declaraciones sólo al principio de los bloques (un bloque es cualquier código encerrado por llaves “{” y “}”) No esperar al primer uso para declararlas. Ejemplo:

void miMetodo() {
    int int1 = 0; // comienzo del bloque del método
    if (condition) {
        int int2 = 0; // comienzo del bloque del "if"
        ...
    }
}

La excepción de la regla son los índices de bucles for, que en Java se pueden declarar en la sentencia for:

for (int i = 0; i < maximoVueltas; i++) {...}

Evitar las declaraciones locales que ocultan declaraciones de niveles superiores. Por ejemplo, no declarar la misma variable en un bloque interno:

int cuenta;...
miMetodo() {
    if (condicion) {
        int cuenta = 0; // EVITAR!
        ...
    }...
}

7.4 Declaración de clases e interfaces

Al codificar clases e interfaces de Java, se siguen las siguientes reglas de formato:

  • Ningún espacio en blanco entre el nombre de un método y el paréntesis "(" que abre su lista de parámetros
  • La llave de apertura "{" aparece al final de la misma línea de la sentencia declaración
  • La llave de cierre "}" empieza una nueva línea indentada para ajustarse a su sentencia de apertura correspondiente, excepto cuando no existen sentencias entre ambas, que debe aparecer inmediatamente después de la de apertura "{"
class Ejemplo extends Object {
    int ivar1;
    int ivar2;
    Ejemplo(int i, int j) {
        ivar1 = i;
        ivar2 = j;
    }
    int metodoVacio() {}...
}
  • Los métodos se separan con una línea en blanco