Convenciones de Codigo Java

Click here to load reader

  • date post

    28-Mar-2016
  • Category

    Documents

  • view

    236
  • download

    0

Embed Size (px)

description

 

Transcript of Convenciones de Codigo Java

  • Convenciones de Cdigo para el lenguaje de programacin

    JAVA

    Revisado 20 Abril de 1999por Scott Hommel

    Sun Microsystems Inc.

    Traducido al castellano 10 Mayo del 2001por Alberto Molpeceres

    http://www.javahispano.com

  • Convenciones de Cdigo Java

    3

    Conveciones de cdigo para el lenguaje de programacinJavaTM

    Revisado, 20 de Abril de 1999Traducido al castellano, 10 de Mayo del 2001

    1 Introduccin 1.1 Por qu tener convenciones de cdigo 1.2 Reconocimientos 1.3 Sobre la traduccin

    2 Nombres de ficheros 2.1 Extensiones de los ficheros 2.2 Nombres de ficheros comnes

    3 Organizacin de los ficheros 3.1 Ficheros fuente Java 3.1.1 Comentarios de comienzo 3.1.2 Sentencias package e import 3.1.3 Declaraciones de clases e interfaces

    4 Indentacin 4.1 Longitud de la lnea 4.2 Rompiendo lineas

    5 Comentarios 5.1 Formato de los comentarios de implementacin 5.1.1 Comentarios de bloque 5.1.2 Comentarios de una lnea 5.1.3 Comentarios de remolque 5.1.4 Comentarios de fin de linea 5.2 Comentarios de documentacin

    6 Declaraciones 6.1 Cantidad por lnea 6.2 Inicializacin 6.3 Colocacin 6.4 Declaraciones de clase e interfaces

    7 Sentencias 7.1 Sentencias simples 7.2 Sentencias compuestas 7.3 Sentencias de retorno 7.4 Sentencias if, if-else, if else-if else 7.5 Sentencias for

    5555

    666

    77777

    999

    12121313131314

    1515151516

    171717171718

  • Convenciones de Cdigo Java

    4

    7.6 Sentencias while 7.7 Sentencias do-while 7.8 Sentencias switch 7.9 Sentencias try-catch

    8 Espacios en blanco 8.1 Lneas en blanco 8.2 Espacios en blanco

    9 Convenciones de nombres

    10 Hbitos de programacin 10.1 Proporcionando acceso a variables de instancia y de clase 10.2 Referencias a variables y mtodos de clase 10.3 Constantes 10.4 Asignaciones de variables 10.5 Hbitos varios 10.5.1 Parntesis 10.5.2 Valores de retorno 10.5.3 Expresiones antes de ? en el operador condicional 10.5.4 Comentarios especiales

    11 Ejemplos de cdigo 11.1 Ejemplo de fichero fuente Java

    18181819

    202020

    22

    24242424242424252525

    2626

  • Convenciones de Cdigo Java

    5

    Convenciones de cdigo para el lenguaje deprogramacin JavaTM

    1 - Introduccin

    1.1 Por qu convenciones de cdigo

    Las convenciones de cdigo son importantes para los programadores por un gran nmero derazones:

    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 entendercdigo nuevo mucho ms rapidamente y ms a fondo.

    Si distribuyes tu cdigo fuente como un producto, necesitas asegurarte de que estabien hecho y presentado como cualquier otro producto.

    Para que funcionen las convenciones, cada persona que escribe software debe seguir laconvencin. Todos.

    1.2 Agradecimientos

    Este documento refleja los estandares de codificacin del lenguaje Java presentados en JavaLanguage Specification , de Sun Microsystems, Inc. Los mayores contribuidores son PeterKing, Patrick Naughton, Mike DeMoney, Jonni Kanerva, Kathy Walrath, y Scott Hommel.

    Este documento es mantenido por Scott Hommel. Enviar los comentarios [email protected]

    1.3 Sobre la traduccin

    Este documento ha sido traducido al espaol por Alberto Molpeceres, para el sitio webjavaHispano (www.javaHispano.com), y se encuentra ligado al objetivo de dicha web parafomentar el uso y conocimiento del lenguaje Java dentro del mundo hispano-hablante.

    Se ha intentado hacer una traduccin lo ms literal posible, y esta es la nica parte deldocumento que no pertenece a la versin original.

    Se pueden enviar los comentarios sobre la traduccin a la direccin: [email protected]

  • Convenciones de Cdigo Java

    6

    2 - Nombres de ficheros

    Esta seccin lista las extensiones ms comunes usadas y los nombres de ficheros.

    2.1 Extensiones de los ficheros

    El software Java usa las siguientes extensiones para los ficheros:

    Tipo de fichero Extensin

    Fuente Java .java

    Bytecode de Java .class

    2.2 Nombres de ficheros comnes

    Los nombres de ficheros ms utilizados incluyen:

    Nombre de fichero Uso

    GNUmakefile El nombre preferido para ficheros "make". Usamos gnumake paraconstruir nuestro software.

    README El nombre preferido para el fichero que resume los contenidos de undirectorio particular.

  • Convenciones de Cdigo Java

    7

    3 - Organizacin de los ficheros

    Un fichero consiste de secciones que deben estar separadas por lneas en blanco ycomentarios opcionales que identifican cada seccin.

    Los ficheros de ms de 2000 lneas son incmodos y deben ser evitados.

    Para ver un ejemplo de un programa de Java debidamente formateado, ver "Ejemplo defichero fuente Java" en la pgina 26.

    3.1 Ficheros fuente Java

    Cada fichero fuente Java contiene una nica clase o interface pblica. Cuando algunas claseso interfaces privadas estan asociadas a una clase pblica, pueden ponerse en el mismo ficheroque la clase pblica. La clase o interfaz pblica debe ser la primera clase o interface delfichero.

    Los ficheros fuentes Java tienen la siguiente ordenacin:

    Comentarios de comienzo (ver "Comentarios de comienzo" en la pgina 7)

    Sentencias package e import

    Declaraciones de clases e interfaces (ver "Declaraciones de clases e interfaces" en lapgina 7)

    3.1.1 Comentarios de comienzo

    Todos los ficheros fuente deben comenzar con un comentario en el que se lista el nombre dela clase, informacin de la versin, fecha, y copyright:

    /* * Nombre de la clase * * Informacion de la version * * Fecha * * Copyright */

    3.1.2 Sentencias package e import

    La primera lnea no-comentario de los ficheros fuente Java es la sentencia package. Despusde esta, pueden seguir varias sentencias import. Por ejemplo:

    package java.awt;

    import java.awt.peer.CanvasPeer;Nota: El primer componente de el nombre de un paquete nico se escribe siempre enminsculas 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 cdigos ingleses de dos letras queespecifican el pais como se define en el ISO Standard 3166, 1981.

    3.1.3 Declaraciones de clases e interfaces

  • Convenciones de Cdigo Java

    8

    La siguiente tabla describe las partes de la declaracin de una clase o interface, en el orden enque deberian aparecer. Ver "Ejemplo de fichero fuente Java" en la pgina 26 para un ejemploque incluye comentarios.

    Partes de la declaracin deuna clase o interface

    Notas

    1Comentario de documentacinde la clase o interface(/**...*/)

    Ver "Comentarios de documentacin" en la pgina 14 params informacin sobre lo que debe aparecer en estecomentario.

    2 Sentencia class o interface

    3

    Comentario deimplementacin de la clase ointerface si fuera necesario(/*...*/)

    Este comentario debe contener cualquier informacinaplicable a toda la clase o interface que no era apropiadapara estar en los comentarios de documentacin de la claseo interface.

    4 Variables de clase (static)Primero las variables de clase public, despus lasprotected, despus las de nivel de paquete (sinmodificador de acceso) , y despes las private.

    5 Variables de instanciaPrimero las public, despus las protected, despus las denivel de paquete (sin modificador de acceso), y despus lasprivate.

    6 Constructores

    7 Mtodos

    Estos mtodos se deben agrupar por funcionalidad ms quepor visin o accesibilidad. Por ejemplo, un mtodo de claseprivado puede estar entre dos mtodos pblicos de instancia.El objetivo es hacer el cdigo mas legible y comprensible.

  • Convenciones de Cdigo Java

    9

    4 - Indentacin

    Se deben emplear cuatro espacios como unidad de indentacin. La construccin exacta de laindentacin (espacios en blanco contra tabuladores) no se especifica. Los tabuladores debenser exactamente cada 8 espacios (no 4).

    4.1 Longitud de la lnea

    Evitar las lneas de ms de 80 caracteres, ya que no son manejadas bien por muchasterminales y herramientas.

    Nota: Ejemplos para uso en la documentacin deben tener una longitud inferior,generalmente no ms de 70 caracteres.

    4.2 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 ala izquierda que el "padre").

    Alinear la nueva linea con el comienzo de la expresion al mismo nivel de la lineaanterior.

    Si las reglas anteriores llevan a cdigo confuso o a cdigo que se aglutina en elmargen derecho, indentar justo 8 espacios en su lugar.

    Ejemplos de como romper la llamada a un mtodo:unMetodo(expresionLarga1, expresionLarga2, expresionLarga3, expresionLarga4, expresionLarga5);

    var = unMetodo1(expresionLarga1, unMetodo2(expresionLarga2, expresionLarga3));

    Ahora dos ejemplos de roptura de lineas en expresiones aritmticas. Se prefiere el primero, yaque el salto de linea ocurre fuera de la expresin que encierra los parntesis.

    nombreLargo1 = nombreLargo2 * (nombreLargo3 + nombreLargo4

    - nombreLargo5) + 4 * nombreLargo6; // PREFERIDA

    nombreLargo1 = nombreLargo2 * (nombreLargo3 + nombreLargo4

    - nombreLargo) + 4 * nombreLargo6;// EVITAR

    Ahora dos ejemplos de indentacin de declaraciones de mtodos. El primero es el casoco