Repetir código es gratis
En una práctica de mis alumnos, una página PHP llamada “detalle foto” debe recibir un identificador de una fotografía pasada por la URL (querystring) y debe mostrar los datos correspondientes.
El código de uno de mis alumnos es:
if($v1==1){ include_once(RAIZ.'/hiper/perfil_joe.inc'); echo "Identificador: $v1"; } else{ if($v1==2){ include_once(RAIZ.'/hiper/perfil_sandra.inc'); echo "Identificador: $v1"; } else{ if($v1==3){ include_once(RAIZ.'/hiper/perfil_kevin.inc'); echo "Identificador: $v1"; } else{ if($v1==4){ include_once(RAIZ.'/hiper/perfil_maria.inc'); echo "Identificador: $v1"; } else{ if($v1==5){ include_once(RAIZ.'/hiper/perfil_demian.inc'); echo "Identificador: $v1"; } else{ header('Location: index.php'); } } } } }
No se le ocurrió renombrar los nombres de los ficheros para que coincidiese con el identificador $v1. Tampoco se le ocurrió crear un array y que el identificador fuese la posición en el array del nombre del fichero. No, simplemente se le ocurrió encadenar un if detrás de otro if. Pero si pensó así, ¿por qué no utilizó el switch?
Bueno se aprende probando y fallando, por eso son alumnos, están aprendiendo 🙂
Claro, pero era un alumno de tercero, de una carrera de cuatro años… como que le queda poco tiempo para aprender.
Y en realidad, no se trata tanto de aprender como de tener “la chispa” para saber hacer las cosas bien.
A veces “la chispa” la da la experiencia, a mí me costó al principio tener la visión de programador, una vez la coges va todo fluido 🙂 Yo llevo ya 20 años programando y recuerdo que los 2 primeros estaba muy perdido, esos años de universidad en los que todo se hace cuesta arriba, quizás demasiada fiesta universitaria, quizás pecando de novato 🙂 Con trabajo y esfuerzo al final todo se consigue, y aquí estoy dándole a la tecla tantos años después y espero que siga 🙂
Un saludo Sergio