Beruflich Dokumente
Kultur Dokumente
Estándares de codificación
1. Estandares de codificación 1
1.1. Nombres de ficheros . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Organización de ficheros . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1. Ficheros de código fuente . . . . . . . . . . . . . . . . . 1
1.3. Indentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1. Lineas largas . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1. Comentarios de implementación . . . . . . . . . . . . . . 3
1.4.2. Comentarios de documentación . . . . . . . . . . . . . . 3
1.5. Declaraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.1. Número de declaraciones por línea . . . . . . . . . . . . . 4
1.5.2. Inicialización . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.3. Localización . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.4. Declaraciones de clases e interfaces . . . . . . . . . . . . 5
1.6. Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6.1. Sentencias simples . . . . . . . . . . . . . . . . . . . . . 5
1.6.2. Sentencias compuestas . . . . . . . . . . . . . . . . . . . 5
1.6.3. Ejemplos: Sentencias if, for, while, do ... while, switch y
try ... catch . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6.4. Sentencias de retorno . . . . . . . . . . . . . . . . . . . . 7
1.7. Espacio en blanco . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7.1. Líneas en blanco . . . . . . . . . . . . . . . . . . . . . . 8
1.7.2. Caracteres de espacio . . . . . . . . . . . . . . . . . . . . 8
1.8. Asignación de nombres . . . . . . . . . . . . . . . . . . . . . . . 8
III
IV
Capítulo 1
Estandares de codificación
1
Ordenación de las secciones en un fichero de código fuente
Estas secciones deben ir separadas por una línea en blanco
1.3. Indentación
La unidad de indentación de bloques de sentencias son 4 espacios
2
||!(condition5 && condition6)) {
doSomethingAboutIt();
}
// O ESTA
if ((condition1 && condition2) || (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}
1.4. Comentarios
Normas generales a seguir en toda documentación:
1. Los comentarios deben añadir claridad al código. Deben contar el por qué y
no el cómo.
2. Deben ser concisos.
3. Idealmente hay que escribir la documentación antes que el código.
Hay dos tipos de comentarios: Comentarios de implementación y comentarios
de documentación. Los comentarios de implementación son del tipo: // ... o /*
... */. Los comentarios de documentación son del tipo: /** ... */. Los comentarios
de implementación describen el código, los de documentación una visión de más
alto nivel para gente que no tiene el código a mano y que sólo quiere usarlo. La
información de los comentarios no debe ser evidente, deben ser cosas que no están
contenidas en el codigo Los comentarios no deben estar en cajas dibujadas con
asteriscos o similar ni deben incluir caracteres extraños
3
La indentación correcta según Sun es:
/**
* Comentario sobre la clase A
*/
public class A { ... }
1.5. Declaraciones
1.5.1. Número de declaraciones por línea
Se debe declarar cada variable en una línea distinta, de esta forma cada variable
se puede comentar por separado. Ejemplo:
1.5.2. Inicialización
Inicializar cada variable en su declaración a menos que su valor inicial dependa
de algún cálculo
1.5.3. Localización
En el comienzo de los bloques. La única excepción es el bucle for. No se deben
declarar variables con el mismo nombre que otras en un método
4
1.5.4. Declaraciones de clases e interfaces
Se siguen estas reglas:
1.6. Sentencias
1.6.1. Sentencias simples
Cada línea debe contener una sola sentencia. Ejemplos
argv++; // Bien
argc++; // Bien
Todas las sentencias del tipo if o for, while, do ... while de-
berán tener llaves aunque sólo contengan una sentencia, de esta forma se
evita la introducción accidental de errores si se añaden posteriormente sen-
tencias
1.6.3. Ejemplos: Sentencias if, for, while, do ... while, switch y try ...
catch
Sentencia if
if (condition) {
statements;
}
if (condition) {
statements;
} else {
statements;
5
}
if ( condition) {
statements;
} else if (condition) {
statements;
} else {
statements;
}
Sentencia for y su nueva versión
for ( initialization; condition; update) {
statements;
}
while (condition);
6
Sentencia do-while:
do {
statements;
} while ( condition);
switch ( condition) {
case ABC:
statements;
/* El comentario tambien indentado */
case DEF:
statements;
break;
case XYZ:
statements;
break;
default:
statements;
break;
}
try {
statements;
} catch (ExceptionClass e) {
statements;
}
try {
statements;
} catch (ExceptionClass e) {
statements;
} finally {
statements;
}
7
1.7. Espacio en blanco
1.7.1. Líneas en blanco
Se deben usar dos líneas en blanco entre2 :
Métodos
3. Si se usan abreviaturas hay que mantener en algún sitio una lista de lo que
significan.
2
Según Sun. Esto no se está haciendo del todo así en este proyecto
8
4. Evitar en lo posible los nombres largos (menos de 15 letras sería lo ideal)
7. No usar siglas en los nombres a menos que queden muy largos o sean siglas
conocidas por todos.
Cada tipo de elemento debe nombrarse con una serie de reglas determinadas.