Sentencias
Sentencias Simples
Cada línea debe contener como máximo una sentencia. Por ejemplo:
argv++; // Correct
argc++; // Correct
argv++; argc--; // AVOID!
Sentencias Compuestas
Las sentencias compuestas son sentencias que contienen listas de sentencias encerradas entre
corchetes “{ sentencias }”. Puedes ver ejemplos en las siguientes secciones.
- Las sentencias encerradas deben identarse uno o más niveles que la sentencia compuesta.
- El corchete de apertura debe estar al final de la línea que empieza la sentencia compuesta;
el corchete de cierre debería empezar una nueva línea y estar identado con el principio de la
sentencia compuesta.
- Los corchetes se usan alrededor de todas las sentencias, incluso para sentencias simples,
cuando éstas forman parte de una estructura de control como una sentencia
if-else o for. Esto hace
más fácil la adición de sentencias sin introducir errores debido al olvido de los corchetes.
Sentencias de Retorno
Una sentencia de retorno no debería usar paréntesis a menos que el valor de retorno sea más
óbvio de esa forma. Por ejemplo:
return;
return myDisk.size();
return (size ? size : defaultSize);
Sentencias if, if-else, if else-if else
Las sentencias del tipo if-else deberían tener la siguiente
forma:
if ( condition) {
statements;
}
if ( condition) {
statements;
} else {
statements;
}
if ( condition) {
statements;
} else if ( condition) {
statements;
} else {
statements;
}
|
Nota:
Las sentencias if siempre usan corchetes. Debemos evitar
el siguiente error:
if ( condition) //AVOID! THIS OMITS THE BRACES {}!
statement;
|
Sentencias for
Una sentencia for debería tener la siguiente forma:
for ( initialization; condition; update) {
statements;
}
Una sentencia for vacía (una en la que todo el trabajo se
hace en las claúsulas de inicialización, condición y actualización) debería tener la siguiente
forma:
for ( initialization; condition; update);
Cuando usamos el operador coma en las claúsulas de inicialización o actualización de una
sentencia for, debemos evitar la complejidad de usar más de
tres variables. Si es necesario, debemos usar sentencias separadas antes del bucle
for (para la claúsula de inicialización) o al final del
bucle (para la claúsula de actualziación).
Sentencias while
Una sentencia while debería tener la siguiente forma:
while ( condition) {
statements;
}
Una sentencia while vacía debería tener la siguiente orma:
while ( condition );
Sentencias do-while
Una sentencia do-while debería tener la siguiente forma:
do {
statements;
} while ( condition);
Sentencias switch
Una sentencia switch debería tener la siguiente forma:
switch ( condition) {
case ABC:
statements;
/* falls through */
case DEF:
statements;
break;
case XYZ:
statements;
break;
default:
statements;
break;
}
Cada vez que un case cae (no incluye una sentencia
break), debemos añadir un comentario donde normalmente iría la
sentencia break. Esto se ve en el ejemplo de código anterior con
el comentario /* falls through */.
Toda sentencia switch debería incluir un valor
default. El break en el case por defecto es redundante, pero
evita un erro de caída si añadimos después otro case.
Sentencias try-catch
Una sentencia try-catch debería tener la siguiente forma:
try {
statements;
} catch (ExceptionClass e) {
statements;
}
Una sentencia try-catch también podría ir seguida de un
cloque finally, que se ejecuta sin importar si se ha
completado con éxito o no el bloque try.
try {
statements;
} catch (ExceptionClass e) {
statements;
} finally {
statements;
}