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?

Profesor del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante (España). Interesado en el desarrollo y la accesibilidad web.

3 comentarios sobre “Repetir código es gratis

  1. 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.

  2. 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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.