|
Convenciones de Codificación en Java |
Declaraciones
Número de declaraciones por línea
Se recomienda una declaración por línea ya que mejora los comentarios. En otras palabras:
int level; // indentation level int size; // size of table
se prefiere sobre:
int level, size;
No debemos poner diferentes tipos en la misma línea. Por ejemplo:
int foo, fooarray[]; //WRONG!
|
Nota:
Los ejemplos de arriba usan un espacio entre el tipo y el identificador. Otra alternativa aceptable es usar tabs, por ejemplo: int level; // indentation level int size; // size of table Object currentEntry; // currently selected table entry |
Inicialización
Debemos intentar inicializar las variables locales donde son declaradas. La única razón para no inicializar una variable donde es declarada es si el valor inicial depende de algún cálculo que tiene que ocurrir antes.
Situación
Ponemos las declaraciones sólo al principio de los bloques. (Un bloque es cualquier código encerrado entre corchetes “{” y “}”.) No debemos esperar a declarar variables hasta que son usadas por primer vez; puede confundir la programador despistado y estorbar la portabilidad del código dentro del ámbito.
void myMethod() {
int int1 = 0; // beginning of method block
if (condition) {
int int2 = 0; // beginning of "if" block
...
}
}
La única excepción a esta regla son los indexados para los bucles, que en Java pueden ser declarados en la sentencia for:
for (int i = 0; i < maxLoops; i++) { ... }
Debemos evitar las declaraciones locales que oculten las declaraciones de nivel superior. Por ejemplo, no debemos declarar el mismo nombre de variable en un bloque interno:
int count;
...
myMethod() {
if (condition) {
int count; // AVOID!
...
}
...
}
Declaraciones de Clases e Interfaces
Cuando codificamos clases e interfaces Java, se deben seguir las siguientes reglas de formateo:
- No debe haber ningún espacio entre el nombre y el paréntesis “(“ que inicia la lista de parámetros.
- El corchete abierto “{” aparece en la misma línea que la declaración.
- El corchete cerrado “}” empieza una línea por sí mismo, identado a su correspondiente
sentencia de apertura, excepto cuando es una sentencia null en la
que el “}” debería aparecer inmediatamente después del “{“:
class Sample extends Object { int ivar1; int ivar2; Sample(int i, int j) { ivar1 = i; ivar2 = j; } int emptyMethod() {} ... } - Los métodos están separados por una línea en blanco.
















































