[UCR]  
[/\]
Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
[<=] [home] [<>] [\/] [=>]

INDENTACIÓN: Guía de calificación

Por Adolfo Di Mare


Políticas de Corrección de Tareas

  1. La falta de cualquier especificación debe ser castigada fuertemente.
  2. Correcta indentación del código fuente.
  3. Correcto espaciado del código fuente.
  4. Código fuente escrito de manera que se legible y claro.
  5. Uso de identificadores significativos.

Lo correcto ¡¡¡ INCORRECTO !!!
void main(int argc, char *argv[]) {
    // Código indentado dentro de la función 
}
void main(int argc, char *argv[])
{
    // Código indentado dentro de la función
}
if (condición) {
    // una instrucción indentada
}
if (condición)
    // encierre esta instrucción sola en su bloque { } 
if (condición) {
    // una instrucción indentada
}
else {
    // primera instrucción
    // segunda instrucción bien indentada
    // tercera instrucción
}
if (condición)
{
    // no use un renglón extra para la instrucción
} else { // no ponga el "else" en el mismo renglón
    // segunda instrucción bien indentada
}
while (condición) {
    // primera instrucción
    // segunda instrucción bien indentada
}
while (condición) {
     // Debe indentar 4 espacios, ¡no 5 ni 3!
     // segunda instrucción mal indentada
}
for (int i=1; i<=20; ++i) {
    // primera instrucción
}
for(int i=1;i<=20;++i){//¡No sea necio!
    // ¡Debe usar espacios entre las palabras!
}
do {
    // primera instrucción
} while (condición);
do
{   // no use un renglón extra para la instrucción
    // faltó el ';' al final del "while"
} while (condición)
switch (value) {
    case 'a': case 'b':
        // primera instrucción
        // segunda instrucción
        break;
    case 'c':
        // primera instrucción
        break;
    default:
        // primera instrucción
        break;
}
switch (value) {
    case 'a':
    case 'b':
        // ahorre renglones
        // segunda instrucción bien indentada
        break;
    case 'c': {
            // sobra usar el bloque { }
            break;
        }
    default:
        // primera instrucción
        break;
}
list::iterator it = L.begin();
for ( ; it != L.end(); ++it ) {
    int  a = it->first;   // alineación
    long b = it->second;  // y espaciado

    c = ( ((long)(a) - b) / 2 ) >> 5;
    delta = b - c
}
list::iterator it;
for(it=L.begin(), it!=L.end();++it) {
    int a=it->first;      // ¡ Horrible !
    long b=it->second;    // ¡ Todo pegado !
    c=(long)(a)-b/2>>5;  delta = b - c
}
UNcrustify
ADHcrusti.cfg.txt
ADHcrusti.diff.txt

La reglas de indentación son las siguientes;