sábado, 20 de octubre de 2012

Convenciones de nomenclatura


Aunque en java se pueden poner los nombres que se desee se suelen seguir una serie de convecciones  a la hora de nombrar los identificadores que permiten hacer el código más legible.

Clases

Los nombres de clases deben ser sustantivos, escritos en mayúsculas y minúsculas con la primera letra de cada palabra interna en mayúsculas. En la medida de lo posible los nombres tiene que ser cortos y decriptivos.

class Raster;
class ImageSprite;

Intefaces

Siguen las mismas normas que para el nombrado de las clases

interface RasterDelegate;
interface Storing;

Metodos

Los métodos deben ser verbos,  la primera letra es en minúscula y si hay varias palabras la primera letra de cada palabra interna es en mayúscula.

run();
runFast();
getBackground();

Variables

Excepto para las constantes, todas las instancias y variables de clase o método empiezan con minúscula. Las palabras internas que lo forman empiezan con su primera letra en mayúscula. Los nombres de variables no deben empezar con los caracteres guion bajo _ o signo de dólar $, aunque ambos están permitidos por el lenguaje.
Los nombres de las variables deben ser cortos pero significativos. La elección del nombre de una variable debe ser un mnemónico, designado para indicar a un observador ocasional su función. Los nombres de variables de un solo carácter se deben evitar, excepto para variables índices temporales. Nombres comunes para variables temporales son i, j, k, m, y n para enteros; c, d, y e para caracteres.

int i;
char *cp;
float myWidth;

Constantes

Los nombres de las variables declaradas como constantes deben estar en mayúsculas con las palabras separadas por guiones  _

int MIN_WIDTH = 4;
int MAX_WIDTH = 999;
int GET_THE_CPU = 1;

Paquetes

El prefijo del nombre de un paquete se escribe en minúsculas, y debe ser uno de los nombres de dominio de alto nivel (com, edu, gov, mil, net,org). Los siguientes componentes del nombre del paquete variarán de acuerdo a las convenciones de nomenclatura internas de cada organización. Dichas convenciones pueden especificar que algunos nombres de los directorios correspondan a divisiones, departamentos, proyectos o máquinas.

com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese

No hay comentarios:

Publicar un comentario