| 7 | = Estándares de Desarrollo del proyecto plugin de firma electrónica = |
| 8 | |
| 9 | Una guía inicial de estándares [https://google-styleguide.googlecode.com/svn/trunk/javaguide.html] |
| 10 | |
| 11 | === Organización de archivos === |
| 12 | |
| 13 | * Un archivo consiste de secciones que deberían estar separadas por líneas en blanco y un comentario opcional que identifica cada sección. |
| 14 | |
| 15 | * Se deberían evitar archivos con más de 2000 líneas. |
| 16 | |
| 17 | === Archivos fuente === |
| 18 | |
| 19 | 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. |
| 20 | |
| 21 | Los archivos fuentes tienen el siguiente orden: |
| 22 | |
| 23 | * Comentarios iniciales |
| 24 | * Declaración de paquete y sentencias para importar |
| 25 | * Declaración de clase e interfaces |
| 26 | |
| 27 | Esto es: |
| 28 | {{{ |
| 29 | 1 Documentación de la clase |
| 30 | |
| 31 | 2 Declaración de la clase |
| 32 | |
| 33 | 3 Comentario de implementación de clase si es necesario |
| 34 | |
| 35 | 4 Variables de la clase (primero las públicas, luego las protegidas y luego las privadas) |
| 36 | |
| 37 | 5 Instancia de variables (primero las públicas, luego las protegidas y luego las privadas) |
| 38 | |
| 39 | 6 Constructor |
| 40 | |
| 41 | 7 Métodos |
| 42 | }}} |
9 | | [A continuación se deben identificar los estándares de desarrollo que serán implementados en el desarrollo de la aplicación] |
| 45 | === Longitud de línea === |
| 46 | |
| 47 | Evitar líneas de más de 80 caracteres. Documentación de nos más de 70 líneas. |
| 48 | |
| 49 | === Líneas extendidas === |
| 50 | |
| 51 | Cuando una expresión no se ajusta a una sola línea, romperla de acuerdo a los siguientes principios: |
| 52 | |
| 53 | * romper después de una coma. |
| 54 | * romper antes de un operador. |
| 55 | * alinear la nueva línea con el inicio de la expresión al mismo nivel de la línea anterior. |
| 56 | |
| 57 | === Declaraciones === |
| 58 | |
| 59 | * Una declaración por línea |
| 60 | * Colocar la declaración sólo al inicio de bloques (Un bloque es cualquier código que se encuentra dentro de {{{ { } }}}. |
| 61 | * Tratar de inicializar las variables locales cuando son declaradas. |
| 62 | * Al declarar clases e interfaces: |
| 63 | * No dejar espacio entre un nombre de método y el paréntesis. |
| 64 | * La llave {{{ { }}} que abre aparece al final de la misma línea de la declaración. |
| 65 | * La llave {{{ } }}} inicia una línea para cerrar la abierta previamente. |
| 66 | * Los métodos se separan con una línea en blanco. |
| 67 | |
| 68 | Una lista más detallada de estándares adicionales está disponible [http://www.oracle.com/technetwork/java/codeconventions-150003.pdf aquí]. |
| 69 | |
| 70 | |
| 71 | === Documentación de código === |
| 72 | |
| 73 | Se recomienda seguir las recomendaciones establecidas en [http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html]. |