Recomendaciones Estilo de Codificación Nomenclatura Uso de Variables Expresiones 1. Si el nombre consta de varias palabras, escribirlas todas seguidas y separadas por mayúsculas 2. Nombres de los paquetes en minúsculas package lprg.p7; 1. Variables de clase u objeto jamás deben ser públicas 1. Evitar expresiones numéricas o condiciones lógicas complejas. Dividir en subexpresiones 2. En una construcción condicional el “if” llevará la condición que se cumple más comúnmente 1. No usar “break” y “continue” salvo que sea estrictamente necesario 1. Definir clases y métodos pequeños 2. En un método que tiene que devolver un resultado dependiendo de varias condiciones, devolver el resultado en cuanto se sepa 3. Nombres para las Clases que sean sustantivos ListaDeNombres 3. Inicializar las variables inmediatamente int nMuescas= 0 3. Por sencillez, mejor no comparar condiciones directamente con el valor TRUE 4. El nombre de las variables empieza por minúscula int numeroDeCarneros; 4. Variables con un ámbito muy amplio, que tengan nombre largo y significativo 3. Evitar el anidamiento excesivo de estructuras “for”, “while”, “if”, “switch”. Si hay más de tres de estas estructuras anidadas, introducir métodos auxiliares para reducir 2. Código no trivial que se repite a lo largo de un programa puede ser reemplazado por un método equivalente y llamadas al mismo. 3. Una expresión no trivial que se repite a lo largo del programa puede ser reemplazada por una variable auxiliar que la resuma. 5. Constantes (“final”) íntegramente en mayúsculas static final int COLOR_ROJO= 0xFF0000; 5. Variables con un ámbito muy restringido o de usar y tirar que tengan nombre corto int i, j; 6. Nombres Métodos que sean verbos y primera letra en minúscula String getNombre (); 6. Las variables de iteración también deben tener nombres muy cortos for (int i= 0; i < 10; i++) { … } void setNombre(String string); 2. Las variables deben declararse en su ámbito de uso (más reducido posible) En lugar de:: Estructuras Programación (varios) 1. No escribir líneas con más de 70 caracteres aproximadamente. En otro caso, partir la línea 2. Utilizar dos espacios en blanco como medida básica de sangrado. No emplear el tabulador 3. En estructuras de bloque con una sola sentencia, se pueden obviar las llaves if (condicion) hazAlgo(); if (condicion == true) mejor: if (condicion) Pues lo primero es redundante. Sin embargo, si se compara con FALSE sí se aconseja: 4. Un bucle no debería ocupar más de una pantalla (unas 20 líneas de código). En otro caso crear métodos auxiliares para reducir 4. Aclarar el orden de las operaciones con paréntesis 4. Ver los distintos patrones a seguir para sangrar: clases, interfaces, métodos, bucles, estructuras if y switch, captura de excepciones, etc 5. Para comprobar si dos objetos son iguales usar el método “equals()” y no el operador “==”. Lo último es para comparar referencias. 5. Hay que añadir explicaciones a todo lo que no es evidente if (condicion == false) En lugar de: 7. Si la variable es un acrónico, sólo primera letra en mayúscula class Dni; Sangrado y Documentación 7. No usar nunca una variable para dos cosas distintas int numero= 0; numero= numMesas(); numero= numHojas(); if (!condicion) pues el “!” destaca menos en el código. 6. Las excepciones en tiempo de ejecución no deben silenciarse 6. No hay que repetir lo que se hace, sino explicar por qué se hace Obligatorio (javadoc): - al principio de cada clase - al principio de cada método - ante cada variable de clase Conveniencia (1 línea): - al principio de fragmento de código no evidente - a lo largo de los bucles