Вы находитесь на странице: 1из 21

TALLER 1 POO

POR: MADELHEN ESQUIVEL


CONVENCIONES DE CODIGOS

PORQUE TENER CONVENCIONES DE CODIGO?

Las convenciones de cdigo son importantes para los programadores por un gran nmero
de razones:
El 80% del coste del cdigo de un programa va a su mantenimiento.
Casi ningn software lo mantiene toda su vida el auto original.
Las convenciones de cdigo mejoran la lectura del software, permitiendo entender cdigo
nuevo mucho ms rpidamente y ms a fondo.
Si distribuyes tu cdigo fuente como un producto, necesitas asegurarte de que est bien
hecho y presentado como cualquier otro producto.
Para que funcionen las convenciones, cada persona que escribe software debe seguir la
convencin.
CONVENCIONES DE CODIGOS

NOMBRE DE FICHEROS
Extensiones de los ficheros
El software Java usa las siguientes extensiones para los ficheros.

Nombres de ficheros comunes


Los nombres de ficheros ms utilizados incluyen.
CONVENCIONES DE CODIGOS

INDENTACION
Se deben emplear cuatro espacios como unidad de indentacin. La construccin exacta de
la indentacin (espacios en blanco contra tabuladores) no se especifica. Los tabuladores
deben ser exactamente cada 8 espacios.
Longitud de la lnea
Evitar las lneas de ms de 80 caracteres, ya que no son manejadas bien por muchas
terminales y herramientas.
Rompiendo lneas
Cuando una expresin no entre en una lnea, romperla de acuerdo con estos principios:
Romper despus de una coma.
Romper antes de un operador.
Preferir roturas de alto nivel (ms a la derecha que el "padre") que de bajo nivel (ms a la izquierda
que el "padre").
Alinear la nueva lnea con el comienzo de la expresin al mismo nivel de la lnea anterior.
Si las reglas anteriores llevan a cdigo confuso o a cdigo.
COMENTARIOS

Los programas Java pueden tener dos tipos de comentarios:


comentarios de implementacin y comentarios de documentacin.
Los comentarios de implementacin son aquellos que tambin se encuentran en C++,
delimitados por /*...*/, y //.
Los comentarios de documentacin (conocidos como "doc comments") existen slo en
Java, y se limitan por /**...*/. Los comentarios de documentacin se pueden exportar a
ficheros HTML con la herramienta javadoc. Los comentarios de implementacin son para
comentar nuestro cdigo o para comentarios acerca de una implementacin particular.
Los comentarios de documentacin son para describir la especificacin del cdigo, libre
de una perspectiva de implementacin, y para ser ledos por desarrolladores que pueden
no tener el cdigo fuente a mano.
Se deben usar los comentarios para dar descripciones de cdigo y facilitar informacin
adicional que no es legible en el cdigo mismo. Los comentarios deben contener slo
informacin que es relevante para la lectura y entendimiento del programa.
COMENTARIOS

La frecuencia de comentarios a veces refleja una pobre calidad del cdigo. Cuando se sienta obligado a
escribir un comentario considere reescribir el cdigo para hacerlo ms claro.
Los comentarios no deben encerrarse en grandes cuadrados dibujados con asteriscos u otros caracteres.
Los comentarios nunca deben incluir caracteres especiales como backspace.

Formatos de los comentarios de implementacin


Los programas pueden tener cuatro estilos de comentarios de implementacin: de bloque, de
una lnea, de remolque, y de fin de lnea

Comentarios de bloque
Los comentarios de bloque se usan para dar descripciones de ficheros, mtodos, estructuras de datos y
algoritmos. Los comentarios de bloque se podrn usar al comienzo de cada fichero o antes de cada
mtodo. Tambin se pueden usar en otro lugares, tales como el interior de los mtodos. Los comentarios
de bloque en el interior de una funcin o mtodo deben ser indentados al mismo nivel que el cdigo que
describen.
Un cometario de bloque debe ir precedido por una lnea en blanco que lo separe del resto del cdigo.
COMENTARIOS

Comentarios de una lnea


Pueden aparecer comentarios cortos de una nica lnea al nivel del cdigo que siguen. Si un comentario no se
puede escribir en una lnea, debe seguir el formato de los comentarios de bloque. Un comentario de una sla
lnea debe ir precedido de una lnea en blanco
Comentarios de remolque
Pueden aparecer comentarios muy pequeos en la misma lnea que describen, pero deben ser movidos lo
suficientemente lejos para separarlos de las sentencias. Si ms de un comentario corto aparecen en el mismo
trozo de cdigo, deben ser indentados con la misma profundidad.
Comentarios de fin de lnea
El delimitador de comentario // puede convertir en comentario una lnea completa o una parte de una linea. No
debe ser usado para hacer comentarios de varias lneas consecutivas; sin embargo, puede usarse en lneas
consecutivas para comentar secciones de cdigo.
Comentarios de documentacin
Los comentarios de documentacin describen clases Java, interfaces, constructores, mtodos y atributos. Cada
comentario de documentacin se encierra con los delimitadores de comentarios /**...*/, con un comentario por
clase, interface o miembro (mtodo o atributo). Este comentario debe aparecer justo antes de la declaracin.
DECLARACIONES

Cantidad por lnea: Se recomienda una declaracin por lnea, ya que facilita los comentarios.
Inicializacin: Intentar inicializar las variables locales donde se declaran. La nica razn para no
inicializar una variable donde se declara es si el valor inicial depende de algunos clculos que deben
ocurrir.
Colocacin: Poner las declaraciones solo al principio de los bloques (un bloque es cualquier cdigo
encerrado por llaves "{" y "}".) No esperar al primer uso para declararlas; puede confundir a
programadores no preavisados y limitar la portabilidad del cdigo dentro de su mbito de visibilidad.
Evitar las declaraciones locales que ocultan declaraciones de niveles superiores. por
Declaraciones de class e interfaces: Al codificar clases e interfaces de Java, se siguen las siguientes
reglas de formato:
Ningn espacio en blanco entre el nombre de un mtodo y el parntesis "(" que abre su lista de parmetros
La llave de apertura "{" aparece al final de la misma lnea de la sentencia declaracin
La llave de cierre "}" empieza una nueva lnea indentada para ajustarse a su sentencia de apertura correspondiente,
excepto cuando no existen sentencias entre ambas, que debe aparecer inmediatamente despus de la de apertura
"{"
SENTENCIAS

Sentencias simples
Cada lnea debe contener como mucho una sentencia.
Sentencias compuestas
Las sentencias compuestas son sentencias que contienen listas de sentencias encerradas
entre llaves "{ sentencias }".
Sentencias de retorno
Una sentencia return con un valor no debe usar parntesis a menos que hagan el valor de
retorno ms obvio de alguna manera.
SENTENCIAS

Sentencias if, if-else, if else-if else


La clase de sentencias if-else debe tener la siguiente forma:
if (condicion) {
sentencias;
}
if (condicion) {
sentencias;
} else {
sentencias;
}
if (condicion) {
sentencia;
} else if (condicion) {
sentencia;
} else{
sentencia;
}
SENTENCIAS

Sentencias for
Una sentencia for debe tener la siguiente forma:
for (inicializacion; condicion; actualizacion) {
sentencias;
}
Una sentencia for vaca (una en la que todo el trabajo se hace en las clausulas de
inicializacin, condicion, y actualizacion) debe tener la siguiente forma:
for (inicializacion; condicion; actualizacion); Al usar el operador coma en la clausula de
inicializacin o actualizacin de una sentencia for, evitar la complejidad de usar ms
de tres variables. Si se necesita, usar sentencias separadas antes de bucle for (para la
clausula de inicializacin) o al final del bucle (para la clausula de actualizacion).
SENTENCIAS

Sentencias while
Una sentencia while debe tener la siguiente forma:
while (condicion) {
sentencias;
}
Una sentencia while vaca debe tener la siguiente forma:
while (condicion);

Sentencias do-while
Una sentencia do-while debe tener la siguiente forma:
do {
sentencias;
} while (condicion);
SENTENCIAS

Sentencias switch
Una sentencia switch debe tener la siguiente forma:
switch (condicion) {
case ABC:
sentencias;
/* este caso se propaga */
case DEF:
sentencias;
break;
case XYZ:
sentencias;
break;
default:
sentencias;
break;
}
SENTENCIAS

Sentencias try-catch
Una sentencia try-catch debe tener la siguiente forma:
try {
sentencias;
} catch (ExceptionClass e) {
sentencias;
}
Una sentencia try-catch puede ir seguida de un finally, cuya ejecucin se ejecutar
independientemente de que el bloque try se halla completado con xito o no.
try {
sentencias;
} catch (ExceptionClass e) {
sentencias;
} finally {
sentencias;
}
ESPACIOS EN BLANCO

Lneas en blanco
Las lneas en blanco mejoran la facilidad de lectura separando secciones de cdigo que
estn lgicamente relacionadas.
Se deben usar siempre dos lneas en blanco en las siguientes circunstancias:
Entre las secciones de un fichero fuente
Entre las definiciones de clases e interfaces.

Se debe usar siempre una lnea en blanco en las siguientes circunstancias:


Entre mtodos
Entre las variables locales de un mtodo y su primera sentencia
Entre las distintas secciones lgicas de un mtodo para facilitar la lectura.
ESPACIOS EN BLANCO

Espacios en blanco
Se deben usar espacios en blanco en las siguientes circunstancias:
Una palabra clave del lenguaje seguida por un parntesis debe separarse por un espacio.
Debe aparecer un espacio en blanco despus de cada coma en las listas de argumentos.
Todos los operadores binarios excepto . se deben separar de sus operandos con espacios en
blanco. Los espacios en blanco no deben separadar los operadores unarios, incremento ("++") y
decremento ("--") de sus operandos.
Las expresiones en una sentencia for se deben separar con espacios en blanco.
Los "Cast"s deben ir seguidos de un espacio en blanco
CONVENCIONES DE NOMBRES

Las convenciones de nombres hacen los


programas ms entendibles haciendolos
ms fcil de leer.
Tambin pueden dar informacin sobre
la funcin de un indentificador,
por ejemplo, cuando es una constante,
un paquete, o una clase, que puede ser
til para entender el cdigo.
CONVENCIONES DE NOMBRES
HABITOS DE PROGRAMACION