Você está na página 1de 5

Estndar de Codificacin.

Introduccin
El objeto del presente documento es el establecimiento de los estndares o
convenciones de programacin empleados en el desarrollo de software sobre la
plataforma Java. Este modelo de programacin est basado en los estndares
recomendados por Sun Microsystems, que han sido difundidos y aceptados
ampliamente por toda la comunidad Java.
Organizacin de ficheros
Las clases en Java se agrupan en paquetes. Estos paquetes se deben organizar
de manera jerrquica, de forma que todo cdigo desarrollado para el Sistema de
inventario Crediya tendr que estar incluido dentro del paquete "Source
Packages".
Un fichero consta de secciones que deben estar separadas por lneas en blanco y
comentarios opcionales que identifiquen cada seccin.
Fichero fuente Java (.java)
Cada fichero fuente Java debe contener una nica clase o interfaz pblica. El
nombre del fichero tiene que coincidir con el nombre de la clase. Cuando existan
varias clases privadas asociadas funcionalmente a una clase pblica, podrn
colocarse en el mismo fichero fuente que la clase pblica. La clase pblica debe
estar situada en primer lugar dentro del fichero fuente.
En todo fichero fuente Java distinguimos las siguientes secciones:

Comentarios de inicio.
Sentencia de paquete.
Sentencias de importacin.
Declaraciones de clases e interfaces.

Comentarios de inicio
Todo fichero fuente debe comenzar con un comentario que incluya el nombre de la
clase, informacin sobre la versin del cdigo, la fecha y el copyright. El copyright
indica la propiedad legal del cdigo, el mbito de distribucin, el uso para el que
fue desarrollado y su modificacin.

Sentencias de paquete
La primera lnea no comentada de un fichero fuente debe ser la sentencia de
paquete, que indica el paquete al que pertenece(n) la(s) clase(s) incluida(s) en el
fichero fuente.
Sentencias de importacin
Tras la declaracin del paquete se incluirn las sentencias de importacin de los
paquetes necesarios. Esta importacin de paquetes obligatorios seguir el
siguiente orden:
Declaraciones de clases e interfaces
La siguiente tabla describe los elementos que componen la declaracin de una
clase o interfaz, as como el orden en el que deben estar situados.
Elementos de declaracin
de una clase / interfaz
Comentario de
documentacin de la
clase/interfaz /** ... */

Descripcin
Permite describir la clase/interfaz desarrollada.
Necesario para generar la documentacin de la api
mediante javadoc.

Sentencia class / interface


Comentario de
implementacin de la
clase/interfaz, si es
necesario /* ... */

Este comentario incluye cualquier informacin que


no pueda incluirse en el comentario de
documentacin de la clase/interfaz.

Variables de clase
(estticas)

En primer lugar las variables de clase pblicas


(public), despus las protegidas (protected),
posteriormente las de nivel de paquete (sin
modificador), y por ltimo las privadas (private).

Variables de instancia

Primero las pblicas (public), despus las protegidas


(protected), luego las de nivel de paquete (sin
modificador), y finalmente las privadas (private).

Constructores
Mtodos

Deben

Longitud de lnea
La longitud de lnea no debe superar los 100 caracteres por motivos de
visualizacin e impresin.
Comentarios de implementacin
Estos comentarios se utilizan para describir el cdigo ("el cmo est realizado "), y
en ellos se incluye informacin relacionada con la implementacin, tales como
descripcin de la funcin de variables locales, fases lgicas de ejecucin de un
mtodo, captura de excepciones, etc.
Comentarios de bloque:
Comentarios de lnea:
Comentario a final de lnea
Comentarios de documentacin
Los comentarios de documentacin, tambin denominados "comentarios javadoc",
se utilizan para describir la especificacin del cdigo, desde un punto de vista
independiente de la implementacin, de forma que pueda ser consultada por
desarrolladores que probablemente no tengan acceso al cdigo fuente.
Una declaracin por lnea
Se recomienda el uso de una declaracin por lnea, promoviendo as el uso de
comentarios. Ejemplo,
int idUnidad; // Identificador de la unidad organizativa
String[] funciones; // Funciones de la unidad
Inicializacin
Toda variable local tendr que ser inicializada en el momento de su declaracin,
salvo que su valor inicial dependa de algn valor que tenga que ser calculado
previamente.
Int idUnidad = 1;
String [] funciones = {"Administracin", "Intervencin", "Gestin" };
Declaracin de clases / interfaces
Durante el desarrollo de clases / interfaces se deben seguir las siguientes reglas
de formateo:

No incluir ningn espacio entre el nombre del mtodo y el parntesis inicial del
listado de parmetros.
El carcter inicio de bloque ("{") debe aparecer al final de la lnea que contiene la
sentencia de declaracin.
El carcter fin de bloque ("}") se sita en una nueva lnea tabulada al mismo nivel
que su correspondiente sentencia de inicio de bloque, excepto cuando la
sentencia sea nula, en tal caso se situar detrs de "{".
Los mtodos se separarn entre s mediante una lnea en blanco.
Sentencias
Cada lnea debe contener como mximo una sentencia.
Paquetes
Se escribirn siempre en letras minsculas para evitar que entren en conflicto con
los nombres de clases o interfaces. El prefijo del paquete siempre corresponder a
un nombre de dominio de primer nivel, tal como: es, eu, org, com, net, etc.
Clases e interfaces
Los nombres de clases deben ser sustantivos y deben tener la primera letra en
maysculas. Si el nombre es compuesto, cada palabra componente deber
comenzar con mausculas.
Los nombres sern simples y descriptivos. Debe evitarse el uso de acrnimos o
abreviaturas, salvo en aquellos casos en los que dicha abreviatura sea ms
utilizada que la palabra que representa (URL, HTTP, etc.).
Mtodos
Los mtodos deben ser verbos escritos en minsculas. Cuando el mtodo est
compuesto por varias palabras cada una de ellas tendr la primera letra en
maysculas.
public void insertaUnidad(Unidad unidad);
Variables
Las variables se escribirn siempre en minsculas. Las variables compuestas
tendrn la primera letra de cada palabra componente en maysculas.
Visibilidad de atributos de instancia y de clase
Los atributos de instancia y de clase sern siempre privados, excepto cuando
tengan que ser visibles en subclases herederas, en tales casos sern declarados

como protegidos.
Documentacin: javadoc
Se aconseja, como buena prctica de programacin, incluir en la entrega de la
aplicacin la documentacin de los ficheros fuente de todas las clases. Dicha
documentacin ser generada por la herramienta "javadoc".
La herramienta "javadoc" construir la documentacin a partir de los comentarios
(incluidos en las clases) encerrados entre los caracteres "/**" y "*/". Distinguimos
tres tipos de comentarios javadoc, en funcin del elemento al que preceden: de
clase, de variable y de mtodo.
Dentro de los comentarios "javadoc" podremos incluir cdigo html y etiquetas
especiales de documentacin. Estas etiquetas de documentacin comienzan con
el smbolo "@", se sitan al inicio de lnea del comentario y nos permiten incluir
informacin especfica de nuestra aplicacin de una forma estndar.
@author Nombre (Aade informacin sobre el autor o autores del cdigo.)
@versin InformacionVersion (Permite incluir informacin sobre la versin y fecha
del cdigo.)
@param NombreParametro Descripcin (Inserta el parmetro especificado y su
descripcin en la seccin "Parameters:" de la documentacin del mtodo en el que
se incluya.).
@return Descripcin (Inserta la descripcin indicada en la seccin "Returns:" de la
documentacin del mtodo.).
@throws NombreClase Descripcin (Aade el bloque de comentario "Throws:"
incluyendo el nombre y la descripcin de la excepcin especificada.).
@see Referencia (Permite incluir en la documentacin la seccin de comentario
"See also:", conteniendo la referencia indicada.).