[SOLUCIONADO] [PHP] Eficiencia de if else return en una función

Iniciado por fermino, Septiembre 21, 2014, 07:11:19 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 21, 2014, 07:11:19 PM Ultima modificación: Septiembre 29, 2014, 07:35:53 PM por fermino
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
function EsBool($Var)
{
    if(is_bool($Var))
    {
        return true;
    }
    else return false;
}


Código: php
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)...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi 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

No tienes permitido ver los links. Registrarse o Entrar a mi 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 ;)
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Septiembre 22, 2014, 12:02:17 AM #3 Ultima modificación: Septiembre 22, 2014, 12:04:22 AM por Alexander1712
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

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


saludos!

No tienes permitido ver los links. Registrarse o Entrar a mi 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

    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?
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi 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

No tienes permitido ver los links. Registrarse o Entrar a mi 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 ^_^
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Si queres saber la eficiencia, muy simple. Pone un tiempo de inicio y de fin de ejecución. Después comparas y listo.


Yo pondría de todas formas el else, me gustan los códigos más estructurados, el ver un
Código: php

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

Me es inevitable añadirle un else, por "prolijidad"
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi 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...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.