Show Menu
Cheatography

Convenciones de Código Java Cheat Sheet by

Las convenciones de codigo son importantes para los programadores

Extens­iones de los ficheros

Tipo de fichero
Extensión
Fuente Java
.java
Bytecode
.class

Nombres de ficheros comúnes

Nombre de fichero
Uso
GNUmak­efile
Usamos gnumake para construir nuestro software.
README
El nombre preferido para el fichero que resume los contenidos de un directorio partic­ular.

Ficheros fuente Java

Cada fichero fuente Java contiene una única clase o interfaces 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.

Coment­arios de comienzo

Todos los ficheros fuente deben comenzar con un comentario en el que se lista el nombre de la clase, inform­ación de la versión, fecha, y copyright:

/*
* Nombre de la clase
*
* Inform­acion de la version
*
* Fecha
*
* Copyright
*/

Declar­aciones

Inicia­liz­ación
Intentar inicia­lizar las variables locales donde se declaran. La única razón para no inicia­lizar una variable donde se declara es si el valor inicial depende de algunos cálculos que deben ocurrir
Colocación
Poner las declar­aciones solo al principio de los bloques (un bloque es cualquier código encerrado por llaves "­{" y "­}".)
Declar­aciones de class e interfaces
Al codificar clases e interfaces de Java, se siguen las siguientes reglas de formato: · Ningún espacio en blanco entre el nombre de un método y el paréntesis "­(" que abre su lista de parámetros · La llave de apertura "­{" aparece al final de la misma línea de la sentencia declar­acion · La llave de cierre "­}" empieza una nueva línea indentada para ajustarse a su sentencia de apertura corres­pon­diente
 

Declar­aciones de clases e interfaces

Partes de la declar­ación de una clase o interface
Los coment­arios de docume­ntación describen clases Java, interf­aces, constr­uct­ores, métodos y atributos.
Sentencia class o interface
En el encabezado se usa la palabra clave interface en lugar de class o abstract class. Por ejemplo public interface Nombre­Del­Int­erface {…}
Comentario de implem­ent­ación de la clase o interface si fuera necesario (/.../)
Este comentario debe contener cualquier inform­ación aplicable a toda la clase o interface que no era apropiada para estar en los coment­arios de docume­ntación de la clase o interface.
Variables de clase (static)
Primero las variables de clase public, después las protected, después las de nivel de paquete (sin modifi­cador de acceso) , y despúes las private.
Variables de instancia
Primero las public, después las protected, después las de nivel de paquete (sin modifi­cador de acceso), y después las private.
Constr­uctores
Cuando se construye un objeto es necesario inicia­lizar sus variables con valores cohere­ntes, imaginemos un objeto de la clase Persona cuyo atributo color de pelo al nacer sea verde, un estado incorrecto tras construir el objeto persona.
Métodos
Estos métodos se deben agrupar por funcio­nalidad más que por visión o accesi­bil­idad. Por ejemplo, un método de clase privado puede estar entre dos métodos públicos de instancia.

Sentencias

Sentencias simples
Cada línea debe contener como mucho una sentencia. Ejemplo: argv++; // Correcto argc--; // Correcto argv++; argc--; // EVITAR!
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 paréntesis a menos que hagan el valor de retorno más obvio de alguna manera. Ejemplo: return; return miDisc­oDu­ro.s­ize(); return (tamanyo ? tamanyo : tamany­oPo­rDe­fecto);
Sentencias if, if-else, if else-if else
La clase de sentencias if-else debe tener la siguiente forma: if (condi­cion) { senten­cias; } if (condi­cion) { senten­cias; } else { senten­cias; } if (condi­cion) { sentencia; } else if (condi­cion) { sentencia; } else{ sentencia; }
Sentencias for
Una sentencia for debe tener la siguiente forma: for (inici­ali­zacion; condicion; actual­iza­cion) { senten­cias; }
Sentencias while
Una sentencia while debe tener la siguiente forma: while (condi­cion) { senten­cias;
Sentencias do-while
Una sentencia do-while debe tener la siguiente forma: do { senten­cias; } while (condi­cion);
Sentencias switch
Una sentencia switch debe tener la siguiente forma: switch (condi­cion) { case ABC: senten­cias; / este caso se propaga / case DEF: senten­cias; break; case XYZ: senten­cias; break; default: senten­cias; break; }
Sentencias try-catch
Una sentencia try-catch debe tener la siguiente forma: try { senten­cias; } catch (Excep­tio­nClass e) { senten­cias; }
 

Indent­ación

Longitud de la línea

Evitar las líneas de más de 80 caract­eres, ya que no son manejadas bien por muchas
terminales y herram­ientas.

Rompiendo líneas
Cuando una expresión no entre en una línea, romperla de acuerdo con estos princi­pios:
· Romper después de una coma.
· Romper antes de un operador.
· Preferir roturas de alto nivel (más a la derecha que el "­pad­re") que de bajo nivel (más a la izquierda que el "­pad­re").
· Alinear la nueva linea con el comienzo de la expresión al mismo nivel de la linea anterior.
· Si las reglas anteriores llevan a código confuso o a código que se aglutina en el margen derecho, indentar justo 8 espacios en su lugar.

Coment­arios

Los programas Java pueden tener dos tipos de coment­arios: coment­arios de implem­ent­ación y coment­arios de docume­nta­ción. Los coment­arios de implem­ent­ación son aquellos que también se encuentran en C++, delimi­tados por /.../, y //. Los coment­arios de docume­ntación (conocidos como "doc commen­ts") existen sólo en Java, y se limitan por /*.../. Los coment­arios de docume­ntación se pueden exportar a ficheros HTML con la herram­ienta javadoc.

Formatos de los coment­arios de implem­ent­ación

Coment­arios de bloque
Los coment­arios de bloque se usan para dar descri­pciones de ficheros, métodos, estruc­turas de datos y algori­tmos.
Coment­arios de una linea
Pueden aparecer coment­arios cortos de una única línea al nivel del código que siguen. Si un comentario no se puede escribir en una línea, debe seguir el formato de los coment­arios de bloque.
Coment­arios de remolque
Pueden aparecer coment­arios muy pequeños en la misma línea que describen, pero deben ser movidos lo sufici­ent­emente lejos para separarlos de las senten­cias.
Coment­arios de fin de linea
El delimi­tador de comentario // puede convertir en comentario una línea completa o una parte de una linea.
Coment­arios de docume­ntación
Los coment­arios de docume­ntación describen clases Java, interf­aces, constr­uct­ores, métodos y atributos.

Conven­ciones de nombres

Paquetes
El prefijo del nombre de un paquete se escribe siempre con letras ASCII en minúsc­ulas, y debe ser uno de los nombres de dominio de alto nivel, actual­mente com, edu, gov, mil, net, org, o uno de los códigos ingleses de dos letras que identi­fícan cada país como se especifica en el ISO Standard 3166, 1981.
com.su­n.eng com.ap­ple.qu­ick­time.v2 edu.cm­u.c­s.b­ovi­k.c­heese
Clases
Los nombres de las clases deben ser sustan­tivos, cuando son compuestos tendrán la primera letra de cada palabra que lo forma en mayúsc­ulas. Intentar mantener los nombres de las clases simples y descri­ptivos.
class Cliente; class Imagen­Ani­mada;
Interfaces
Los nombres de las interfaces siguen la misma regla que las clases.
interface Objeto­Per­sis­tente; interface Almacen;
Métodos
Los métodos deben ser verbos, cuando son compuestos tendrán la primera letra en minúscula, y la primera letra de las siguientes palabras que lo forma en mayúscula.
ejecut­ar(); ejecut­arR­api­do(); cogerF­ondo();
Variables
Excepto las consta­ntes, todas las instancias y variables de clase o método empezarán con minúscula. Las palabras internas que lo forman (si son compue­stas) empiezan con su primera letra en mayúsc­ulas. Los nombres de variables no deben empezar con los caracteres subguión "­_" o signo del dolar "­$", aunque ambos estan permitidos por el lenguaje.
int i; char c; float miAnchura;
Constantes
Los nombres de las variables declaradas como constantes deben ir totalmente en mayúsculas separando las palabras con un subguión ("_").
static final int ANCHUR­A_M­INIMA = 4; static final int ANCHUR­A_M­AXIMA = 999; static final int COGER_­LA_CPU = 1;
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.