Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Lenguajes orientados a objeto > Java > J2SE > Convenciones de Codificación en Java
-Tutoriales

Convenciones de Codificación en Java


Prácticas de Programación

. Proporcionar Acceso a Variables de Ejemplar y de Clase

No debemos hacer públicas ninguna variable de ejemplar o de clase sin una buena razón. Frecuentemente las variables de ejemplar no necesitan configurarse explícitamente - porque normalmente esto sucede como un efecto lateral de llamadas a métodos.

Un ejemplo de variables de ejemplar públicas apropiadas es el cadso donde la clase esencialmente es una estructura de datos, sin comportamiento. En otras palabras, si tuvieramos una estructura en lugar de una clase (si Java soportara estructuras), entonces seriá apropiado hacer públicas las variables de ejemplar.

. Referenciar Variables de Clase y Métodos

Debemos evitar usar un objeto para acceder a variables de ejemplar (estáticas) o métodos. En su lugar debemos usar la clase. Por ejemplo:

classMethod(); //OK
AClass.classMethod(); //OK
anObject.classMethod(); //AVOID!

. Constantes

Las constantes numéricas (literales) no deberían codificarse directamente, excepto -1, 0, y 1, que pueden aparecer en un bucle for como valores de contador.

. Asignaciones de Variables

Debemos evitar asignar varias variables al mismo valor en una sóla sentencia. Es díficil de leer, por ejemplo:

fooBar.fChar = barFoo.lchar = 'c'; // AVOID!

No debemos usar el operador de asignación en lugares donde pueda ser fácilmente confundible con el operador de igualdad, por ejemplo:

if (c++ = d++) { // AVOID! (Java disallows)
	...
}

Debería escribirse como:

if ((c++ = d++) != 0) {
	...
}

No debemos usar asignaciones embebidas en un intento de mejorar el rendimiento de ejecución. Ese es el trabajo del compilador. Por ejemplo:

d = (a = b + c) + r; // AVOID!

Debería escribirse como:

a = b + c;
d = a + r;

. Prácticas Misceláneas

. Paréntesis

Generalmente es una buena idea usar paréntesis para liberar expresiones que incluyen mézclas de operadores para evitar problemas de precedencia de operadores. Incluso si la precedencia del operador parece clara para nosotros podría no ser así para otros -- no deberíamos asumir que otros programadores conecen la precedencia tan bién como nosotros.

if (a == b && c == d) // AVOID!
if ((a == b) && (c == d)) // USE

. Valores de Retorno

Debemos intentar hacer que la estructura de nuestro programa corresponda con nuesta intención. Por ejemplo:

if ( booleanExpression) {
	return true;
} else {
	return false;
}

debería escribirse como:

return booleanExpression;

De forma similar,

if (condition) {
	return x;
}
	return y;

debería escribirse como:

return (condition ? x : y);

. Expresiones antes del ‘?’ en el Operador Condicional

Si una expresión que contiene un operador binario aparece antes del '?' en el operador terciario ?:, debería ponerse entre paréntesis, por ejemplo:

(x >= 0) ? x : -x;

. Comentarios Especiales

Debemos usar XXX en un comentario para marcar algo que es fraudulenteo pero funciona; y FIXME para marcar algo que es fraudulento y no funciona.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network