4 Organización de los ficheros
Un fichero consiste de secciones que deben estar separadas por líneas en blanco y comentarios opcionales que identifican cada sección. Los ficheros de más de 2000 líneas son incómodos y deben ser evitados. Para ver un ejemplo de un programa de Java debidamente formateado, ver Ejemplo de fichero fuente java
4.1 Ficheros fuente Java
Cada fichero fuente Java contiene una única clase o interface pública. Cuando algunas clases o interfaces privadas están asociadas a una clase pública, pueden ponerse en el mismo fichero que la clase pública. La clase o interfaz pública debe ser la primera clase o interface del fichero.
Los ficheros fuentes Java tienen la siguiente ordenación:
- Comentarios de comienzo (ver sección "4.1.1 ")
- Sentencias package e import
- Declaraciones de clases e interfaces (ver sección "4.1.3")
4.1.1 Comentarios de inicio
Todos los ficheros fuente deben comenzar con un comentario en el que se lista el nombre de la clase, información de la versión, fecha, y copyright:
/*
* Nombre de la clase
*
* Informacion de la version
*
* Fecha
*
* Copyright
*/
4.1.2 Declaraciones package e import
La primera línea no-comentario de los ficheros fuente Java es la sentencia package. Después de esta, pueden seguir varias sentencias import. Por ejemplo:
package java.awt;
import java.awt.peer.CanvasPeer;
Nota: El primer componente del nombre de un paquete único se escribe siempre en minúsculas con caracteres ASCII y debe ser uno de los nombres de dominio de último nivel, actualmente com, edu, gov, mil, net, org, o uno de los códigos ingleses de dos letras que especifican el país como se define en el ISO Standard 3166, 1981.
4.1.3 Declaración de clases e interfaces
La siguiente tabla describe las partes de la declaración de una clase o interface, en el orden en que deberían aparecer. Para ver un ejemplo completo de un archivo Java ver la sección “12”.
# | Partes de la declaración de una clase o interface | Notas |
---|---|---|
1 | Comentario de documentación de la clase o interface (/**...*/) | Ver sección "12"para más información sobre lo que debe aparecer en este comentario. |
2 | Declaración class o interface | |
3 | Comentario de implementación de la clase o interface si fuera necesario (/**...*/) | Este comentario debe contener cualquier información aplicable a toda la clase o interface que no era apropiada para estar en los comentarios de documentación de la clase o interface |
4 | Variables de clase (static) | Primero las variables de clase public, después de las protected, después las de nivel de paquetes(sin modificador de acceso), y después las private |
5 | Variables de instancia | Primero las public, después las protected, después las de nivel de paquete (sin modificador de acceso), y después las private |
6 | Constructores | 2:7 |
7 | Métodos | Estos métodos se deben agrupar por funcionalidad más que por visión o accesibilidad. Por ejemplo, un método de clase privado puede estar entre dos métodos públicos de instancia. El objetivo es hacer el código más legible y comprensible |