[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. Especificación correcta, completa y no ambigua.
  2. Correcta indentación del código fuente.
  3. Correcto espaciado del código fuente.
  4. Código fuente escrito de manera legible y clara.
  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;