En general no programamos aislados en el vacío. Otras personas necesitan leer código que escribimos, en este caso los profesores, pero en una empresa o proyecto nuestros pares. En un proyecto opensource incluso mucha gente que ní siquiera conocemos.
A su vez esto es recíproco, es decir, nosotros también necesitamos ver e incluso modificar código hecho por otras personas.
Con lo cual es escencial adoptar buenas prácticas para estructurar el código y expresarlo de forma legible y entendible de la manera más rápida posible.
Es decir que cualquiera pueda ver una función o un conjunto de funciones y solo concentrarse en entender la lógica de lo que hace, y no marearse con temas de sintaxis, o nomenclatura.
Entonces nosotros vamos a adoptar varias convenciones de trabajo para esto, que enumeramos acá.
Es importante seguirlas en los TP's.
Nuestros TP's en general tendrán dos partes:
Es muy importante mantener una separación entre estas tres cosas. A fin de cuenta el componente más importante de nuestro trabajo es el primero, porque al ser genérico yo lo podría utilizar para distintos programas con distintos datos.
En general no vamos a pedir que codifiquen comportamiendo con entrada/salida. Porque suele desviar nuestra atención en aspectos más importantes para perder tiempo con problemas de consola.
Sin embargo, si quieren pueden jugar con estas operaciones.
Lo que es realmente importante es no incluir la lógica de consola dentro de las operaciones del TDA.
CamelCase es una convención muy utilizada para nombras variables o tipos.
La idea es cuando tengo una expresión de más de una palabra por ejemplo "cuenta corriente actual", e igualmente necesito escribir una única palabra en código, escribo todo junto, pero con un caracter en mayúscula para distinguir donde comienza cada palabra de la original
cuenta corriente actual -> cuentaCorrienteActual
Vamos a usar bastante esta convención.
El código DEBE estar formateado ! Es decir indentado !
Prestar atención al hecho de tener lineas indentadas a diferentes niveles. Dificulta la lectura del código !
Una buena práctica es ejecutar el formateador de código del eclipse bastante seguido CTRL+SHIFT+F (Pueden recordar "F" de Formatear).
Por ejemplo, en lugar de un código así:
struct Mundo* crearMundo(char nombreMundo[40]){
struct Mundo* punteroMundo;
strcpy(punteroMundo->mundoName,nombreMundo);
punteroMundo =(struct Mundo*)malloc(sizeof(struct Mundo));
punteroMundo->cantNiveles=0;
punteroMundo->punteroNivel=NULL;
return punteroMundo;
}
Debería ser:
struct Mundo* crearMundo(char nombreMundo[40]){
struct Mundo* punteroMundo;
strcpy(punteroMundo->mundoName,nombreMundo);
punteroMundo =(struct Mundo*)malloc(sizeof(struct Mundo));
punteroMundo->cantNiveles=0;
punteroMundo->punteroNivel=NULL;
return punteroMundo;
}
Utilizamos además, la convención de la apertura de llaves en la misma linea, y el cierre en una linea nueva.
Ejemplo, en lugar de esto:
if (puedeJugar(jugador)
{
jugar(jugador);
}
Usamos:
if (puedeJugar(jugador){
jugar(jugador);
}