Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: fermino en Septiembre 21, 2014, 07:11:19 PM

Título: [SOLUCIONADO] [PHP] Eficiencia de if else return en una función
Publicado por: fermino en Septiembre 21, 2014, 07:11:19 PM
Suponiendo que tengo una función que devolver "sí", si una variable es bool, y "no", si es cualquier otra cosa.
(Se que esto no es algo aplicable a un caso real, pero es un ejemplo xD)

Código (php) [Seleccionar]
function EsBool($Var)
{
    if(is_bool($Var))
    {
        return true;
    }
    else return false;
}


Código (php) [Seleccionar]
function EsBool($Var)
{
    if(is_bool($Var))
    {
        return true;
    }
    return false;
}


¿Qué es más eficiente? ¿Hacer el else, o simplemente devolver false? (Si se cumple el if, se retornará un valor, por ende, se detendrá la ejecución del código y el "return false;" no se va a ejecutar)...
Título: Re:[DUDA] Eficiencia de if else en una función
Publicado por: Destructor.cs en Septiembre 21, 2014, 07:44:45 PM
No hagas el else, generalmente se usa el return false o return null al final de una funcion cuando por ejemplo antes usas un for para buscar algo. Por lo tanto, me parece que es como para mantener cierto criterio

Saludos
Destructor
Título: Re:[DUDA] Eficiencia de if else en una función
Publicado por: fermino en Septiembre 21, 2014, 08:03:26 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No hagas el else, generalmente se usa el return false o return null al final de una funcion cuando por ejemplo antes usas un for para buscar algo. Por lo tanto, me parece que es como para mantener cierto criterio

Saludos
Destructor

Grax ;)
Título: Re:[DUDA] [PHP] Eficiencia de if else en una función
Publicado por: Alex en Septiembre 22, 2014, 12:02:17 AM
tiene razón destructor, siempre debes asegurarte que una funcion tenga un return digamos por defecto para que si por error olvidas devolver un valor en algun caso en específico, tengas un retorno específico.

Las funciones por convención deben tener un retorno (por algo son funciones), de modo que deberías siempre tener un return fuera de estructuras de desición, en tu caso el else no es necesario ya que si el if se cumple la función termina, y si el if no se cumple la funcion retorna el valor false.

yo no se si me doy a explicar o lo que dije realmente no es lo que quiero explicar, pero en cualquier caso es lo que dice destructor xD

Código (php) [Seleccionar]

    function EsBool($Var)
    {
        if(is_bool($Var))
            return true;
        return false;
    }


saludos!
Título: Re:[DUDA] [PHP] Eficiencia de if else en una función
Publicado por: fermino en Septiembre 22, 2014, 05:59:56 AM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
tiene razón destructor, siempre debes asegurarte que una funcion tenga un return digamos por defecto para que si por error olvidas devolver un valor en algun caso en específico, tengas un retorno específico.

Las funciones por convención deben tener un retorno (por algo son funciones), de modo que deberías siempre tener un return fuera de estructuras de desición, en tu caso el else no es necesario ya que si el if se cumple la función termina, y si el if no se cumple la funcion retorna el valor false.

yo no se si me doy a explicar o lo que dije realmente no es lo que quiero explicar, pero en cualquier caso es lo que dice destructor xD

Código (php) [Seleccionar]

    function EsBool($Var)
    {
        if(is_bool($Var))
            return true;
        return false;
    }


saludos!

Seh, se entiende xD

Y en términos de eficiencia? Supongo que sería mejor el return solo, ¿no?
Título: Re:[DUDA] [PHP] Eficiencia de if else return en una función
Publicado por: Destructor.cs en Septiembre 22, 2014, 01:16:47 PM
En eficiencia, un else no cambia en nada xdddddddd tu algoritmo de por si tiene un O(n), lo que cambia la eficiencia son los bucles anidados sobre todo
Título: Re:[DUDA] [PHP] Eficiencia de if else return en una función
Publicado por: fermino en Septiembre 22, 2014, 06:44:58 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
En eficiencia, un else no cambia en nada xdddddddd tu algoritmo de por si tiene un O(n), lo que cambia la eficiencia son los bucles anidados sobre todo

Ya se, obvio que en una ejecución no afecta en nada xDDDD Pero igual me surgió la duda ^_^
Título: Re:[DUDA] [PHP] Eficiencia de if else return en una función
Publicado por: WhiZ en Septiembre 22, 2014, 07:33:40 PM
Si queres saber la eficiencia, muy simple. Pone un tiempo de inicio y de fin de ejecución. Después comparas y listo.
Título: Re:[DUDA] [PHP] Eficiencia de if else return en una función
Publicado por: JaAViEr en Septiembre 22, 2014, 08:55:49 PM
Yo pondría de todas formas el else, me gustan los códigos más estructurados, el ver un
Código (php) [Seleccionar]

    function EsBool($Var)
    {
        if(is_bool($Var))
            return true;
        return false;
    }

Me es inevitable añadirle un else, por "prolijidad"
Título: Re:[DUDA] [PHP] Eficiencia de if else return en una función
Publicado por: fermino en Septiembre 22, 2014, 10:03:57 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Si queres saber la eficiencia, muy simple. Pone un tiempo de inicio y de fin de ejecución. Después comparas y listo.
Sep, supongo que con mil repeticiones será suficiente...