Estándares de Desarrollo del Proyecto
Organización de archivos
- Un archivo consiste de secciones que deberían estar separadas por líneas en blanco y un comentario opcional que identifica cada sección.
- Se deberían evitar archivos con más de 2000 líneas.
Archivos fuente
Cada archivo fuente contiene una clase pública o interfaz. Cuando clases privadas e interfaces están asociadas con una clase pública, se pueden colocar en el mismo archivo de la clase pública. La clase pública debería ser la primera clase o interfaz en el archivo.
Los archivos fuentes tienen el siguiente orden:
- Comentarios iniciales
- Declaración de paquete y sentencias para importar
- Declaración de clase e interfaces
Esto es:
1 Documentación de la clase 2 Declaración de la clase 3 Comentario de implementación de clase si es necesario 4 Variables de la clase (primero las públicas, luego las protegidas y luego las privadas) 5 Instancia de variables (primero las públicas, luego las protegidas y luego las privadas) 6 Constructor 7 Métodos
Longitud de línea
Evitar líneas de más de 80 caracteres. Documentación de nos más de 70 líneas.
Líneas extendidas
Cuando una expresión no se ajusta a una sola línea, romperla de acuerdo a los siguientes principios:
- romper después de una coma.
- romper antes de un operador.
- alinear la nueva línea con el inicio de la expresión al mismo nivel de la línea anterior.
Declaraciones
- Una declaración por línea
- Colocar la declaración sólo al inicio de bloques (Un bloque es cualquier código que se encuentra dentro de { } .
- Tratar de inicializar las variables locales cuando son declaradas.
- Al declarar clases e interfaces:
- No dejar espacio entre un nombre de método y el paréntesis.
- La llave { que abre aparece al final de la misma línea de la declaración.
- La llave } inicia una línea para cerrar la abierta previamente.
- Los métodos se separan con una línea en blanco.
Una lista más detallada de estándares adicionales está disponible aquí.
Documentación de código
Se recomienda seguir las recomendaciones establecidas en http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html.