= 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 [http://www.oracle.com/technetwork/java/codeconventions-150003.pdf aquí]. === Documentación de código === Se recomienda seguir las recomendaciones establecidas en [http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html].