NO Uses IF anidados. HAZ esto!

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 369

  • @FlutterMapp
    @FlutterMapp 2 года назад +171

    Diego to the moon! 🔥🔥🔥 Wish you the best with this video 🚀

    • @diegoveloper
      @diegoveloper  2 года назад +15

      thanks for the inspiration/idea and everything haha, :)

  • @OlenVance
    @OlenVance Месяц назад +62

    ¡Qué buen video! Siempre me ha costado lidiar con los IF anidados, pero las guard clauses suenan como una solución genial. 🤔 ¿Alguien más ha probado esta técnica? Estoy empezando con сodigо herоe y me encanta aprender así. 😊

  • @gabrielalem123
    @gabrielalem123 2 года назад +53

    Excelente vídeo. Lo que sí, yo no diría "está mal" 0:08 Yo diría "ineficiente" pero mal no está.

    • @nicolasberti4253
      @nicolasberti4253 2 года назад +6

      no es ineficiente, es poco legible, son dos cosas diferentes

    • @almogaverXIII
      @almogaverXIII 2 года назад +2

      No es ineficiente, es ilegible. Y pudiéndolo hacer legible lo convierte en código mal hecho.

    • @fleringarlegends
      @fleringarlegends 2 года назад +11

      @@almogaverXIII Aun sigue siendo legible... simplemente no esta tan limpio pero ilegible no es.

    • @destrospider2222
      @destrospider2222 2 года назад

      Es ilegible para simples mortales

    • @Piedra_YT
      @Piedra_YT 6 месяцев назад

      Esta mal dentro del contexto de la sintaxis

  • @sarahfortunes6361
    @sarahfortunes6361 2 года назад +30

    Tan sencillo que era y nunca lo vi de esta manera, muchas gracias :D

  • @fele09
    @fele09 2 года назад +1

    llevo haciendo esto por años y no sabía que tenía un nombre. solo que, exactamente como explicaste, es muy sencillo leer el algoritmo de esa forma. nunca pude explicar bien por que me gusta asi. ahora ya se w decirle a mis compas

  • @verdadero1980
    @verdadero1980 2 года назад +5

    Eso lo estudié en Estructura de Datos. Así el código corre más rápido cuando tiene muchos datos sobrecargándolo

  • @mauriciourdaneta3588
    @mauriciourdaneta3588 2 года назад +19

    chevere si tiene sentido porque las excepciones tienen la cualidad de frenar toda la ejecución del codigo cuando existe algún error buen método.🤗

    • @neolymoreno3256
      @neolymoreno3256 2 года назад +3

      Esto era lo que me hacía falta, jajaja gracias bro

    • @marlonturcios6005
      @marlonturcios6005 2 года назад +3

      Justo tenia esa duda, y yo pensando que estaba mal porque ejecutaría la función de todas formas

    • @mauriciourdaneta3588
      @mauriciourdaneta3588 2 года назад +1

      @@neolymoreno3256 Si de hecho se recomienda mayormente las excepciones que los propios condicionales porque fuerzan el código a diferencia de los condicionales que se solo ejecutan cuando se cumple una condición es decir si hay cierta informacion que no puede ser procesada por el código salta la excepción ignorando el código restante. Es un gusto ayudar a la comunidad.

  • @rodiliorodriguez6921
    @rodiliorodriguez6921 2 года назад +3

    Empecé a usar esto hace tiempo y definitivamente es un gran consejo para escribir código legible y escalable 👌🏻😎

  • @vyperasylum8278
    @vyperasylum8278 2 года назад +8

    También podemos usar Switch Statement y optimizar aun más la ejecución de nuestro código, debido a que solo necesitamos una variable para movernos por el índice de opciones a comparar. No es lo mismo que un "if", pero no deja de ser una máquina de estados que según en que estado se encuentre la variable de control, pues ejecuta una acción u otra.

  • @othersimpleuser2383
    @othersimpleuser2383 2 года назад +84

    Vaya, a veces uno implementa cosas que según nosotros en ese momento es mera cuestión de comodidad, luego va y resulta que tienen un nombre técnico 🤣🤣🤣
    Buen video.

    • @xHydra
      @xHydra 2 года назад +1

      x2 llevo toda la vida haciendo las cosas así y ahora me entero de que existe un nombre para ello jaja

  • @vladimirgutierrez7
    @vladimirgutierrez7 2 года назад

    Una maravilla de explicación. Conciso y al pie, muchas gracias Diego! Bendiciones!

  • @marcomasieri9459
    @marcomasieri9459 2 года назад

    ¡Gracias!

  • @enriquealejandropinelonove2416
    @enriquealejandropinelonove2416 2 года назад

    Bravo eres el primero que enseña Defensive Coding.
    Pocos saben usarlo.

  • @AlFredo-sx2yy
    @AlFredo-sx2yy 2 года назад +3

    y ahora con un debugger en vez de tener que entender el codigo, directamente me salto 3 instrucciones jne y soy usuario activo, pro y suscrito solo con cambiar un puntero. Gracias por la increible recomendacion de como no hacer software seguro!

  • @catrielcaruso1687
    @catrielcaruso1687 2 года назад +8

    Muy buen tips! Muchas gracias! Ya mismo lo voy a implementar en mis proyectos!

    • @catrielcaruso1687
      @catrielcaruso1687 2 года назад

      Estuve pensando que podrías hacer algún video de 5 o 10 minutos de como escribir mejor código en dart. Por ejemplo usar más late en las variables, o más el operador ? en las varibles y objetos y no usar tantos if preguntando si es null la variables para luego hacer algo. Creo que eso tips nos servirían mucho a los que estamos todo el día con dart.

  • @yinheaven7868
    @yinheaven7868 2 года назад +5

    Corto, cómodo y fácil de entender esto si es un tutorial

  • @xinoHITO
    @xinoHITO 2 года назад +7

    Buen video! Simple y claro!
    Si no quieres arrojar excepciones tambien podrías hacer return cuando quieras salirte del método.

    • @scanlux
      @scanlux 2 года назад +1

      El return rompería la ejecución de esa función?

    • @diegoveloper
      @diegoveloper  2 года назад +1

      Si

  • @humbertomoli99
    @humbertomoli99 Год назад +1

    Estoy de acuerdo. Las cláusulas de guarda son una técnica útil para mejorar la legibilidad del código y evitar las condiciones anidadas. En lugar de tener una larga cadena de condiciones, se puede usar cláusulas de guarda para validar pre-condiciones y, en caso de no cumplirse, lanzar una excepción temprano. Esto permite una traza más clara de la lógica y hace que el código sea más fácil de entender y mantener. Además, también ayuda a reducir la posibilidad de errores y bugs en el código.

  • @davidlopercol
    @davidlopercol 2 года назад

    Excelente explicación, al grano y sin rodeos

  • @panadeero
    @panadeero 2 года назад +17

    Y dependiendo del lenguaje, puedes quitar los {} , como:
    if(!isUserActive)
    throw Exception(''User not active')

  • @mlm1106
    @mlm1106 2 года назад +314

    Lo tomaste de otro video en inglés, creo haberlo visto hace no mucho. De igual manera es bueno recordarlo y mas difundirlo en nuestro idioma. Saludos !

    • @adrianpierrafuentes2130
      @adrianpierrafuentes2130 2 года назад +18

      Eso mismo me percate 🧐

    • @diegoveloper
      @diegoveloper  2 года назад +144

      Sii, que observadores xd, Flutter Mapp me dió el permiso para basarme en su video.

    • @juanmacias5922
      @juanmacias5922 2 года назад +54

      Pero eso es como decir que le copiamos el syntax a Dennis Ritchie, del lenguaje C, son practicas conocidas por muchas razones.

    • @ProyectoGD
      @ProyectoGD 2 года назад +51

      lo querían quemar y les cerró la boca xd

    • @4tre00
      @4tre00 2 года назад +6

      @@ProyectoGD literal jaj

  • @VivesCloud
    @VivesCloud 2 года назад +1

    Muchas gracias, si cuando empecé a programar usaba esos if else, ahora ya no tanto y dependiendo de como hasta uso los switch case :)
    Muchas gracias por tu vídeo!!

  • @cesarmaat
    @cesarmaat 2 года назад

    Excelente video, directo al punto sin tanto rollo

  • @elvisleon9695
    @elvisleon9695 2 года назад +1

    Ya lo sabia (se ve mas bonito pero es mas lento), gracias por compartir conocimiento.

  • @emanuelcano4443
    @emanuelcano4443 2 года назад

    Excelente Diegote , hoy me estaba enredando bastante en el laburo

  • @nicolasbaumtrog5671
    @nicolasbaumtrog5671 2 года назад +1

    Buenisimo, para poder sacarse la costumbre de hacer un laberinto de if jajaj

  • @golgiapparatus149
    @golgiapparatus149 2 года назад

    Esto no se me hubiese ocurrido, es muy ingeniosa tu solución. Nuevo sub con la campana activada.

  • @MiauMichigan
    @MiauMichigan 2 года назад

    Buenísimo!!! Recién estoy empezando así que me viene super el consejo. Muchas gracias :)

  • @jeanmartinpachasvilla6640
    @jeanmartinpachasvilla6640 2 года назад +3

    simple y bueno, no sabía su nombre... CRACK

  • @juanmacias5922
    @juanmacias5922 2 года назад +15

    Ademas de mas limpio, escuche que el procesador tiene que esperar para ver que es elegido, y haciendo operaciones constantes ayuda la velocidad del programa. O(1)

  • @rodrigojigena1884
    @rodrigojigena1884 2 года назад

    primer video tuyo que veo un genio total

  • @guzman6001
    @guzman6001 2 года назад

    Sencillo, potente... Perfecto.

  • @Perberos
    @Perberos 2 года назад +1

    Haddooouuukkkeeeennnn
    es mi técnica de programación favorita, y eso que llevo casi 20 años escribiendo código fuente 😗

  • @Lucas_Barraud
    @Lucas_Barraud 2 года назад +1

    Muy buen video, se agradece que hagas un ciclo sobre buenas prácticas o estilos de programación.
    Saludos.

  • @pablofigueroa2345
    @pablofigueroa2345 2 года назад +7

    1:38 Corregime si es que estoy mal. El comando "showUserDashboard" en el primer método se ejecuta si las TRES CONDICIONES SON VALIDAS; mientras que en el segundo método se ejecuta siempre al finalizar las condiciones sin importar si son validas o negadas. Aunque el método esta bien, la ejecución de los códigos no son DOS FORMAS CON UN MISMO OBJETIVO sino que son dos códigos con diferentes funciones. En el segundo código deberíamos buscar una manera para que se siga cumpliendo la condición de mostrar "showUserDashboard" una vez las tres funciones son validas.
    PD: Repito, si me equivoco corregime. A primera vista es la manera en la que veo que funciona este código. Intentare codificarlo para ver si me equivoco en el proceso.

    • @diegoveloper
      @diegoveloper  2 года назад +11

      El throw Exception rompe el ciclo de ejecución

    • @yukariakiyama3059
      @yukariakiyama3059 2 года назад

      @@diegoveloper Como seria eso? Terminaria con el procedimiento directamente?

    • @diegoveloper
      @diegoveloper  2 года назад +1

      @@yukariakiyama3059 si, revisa sobre Excepciones, todos lenguajes de programación lo soportan

  • @escarabajoescararriba9479
    @escarabajoescararriba9479 2 года назад

    Gracias Diego, me ha gustado el vídeo, saludos :)

  • @ziggywzl
    @ziggywzl 2 года назад

    Me encanta como se ve el código así de ordenado y claro, y no un código hadouken

  • @abrahamtamayo
    @abrahamtamayo 2 года назад +6

    La verdad es que para una condición siempre pensamos en cumplir la condición y no cumplirla no es un pensamiento normal .. pero OJALA hubiera visto antes este video .. tengo muy poco aplicando esta técnica ..

    • @marcelomarot4229
      @marcelomarot4229 2 года назад

      Lo que hizo fue reescribir una función que hace una lógica AND como una lógica NOR a la que le niega las entradas, obteniendo la misma tabla de verdad al final. O sea se cumplen las mismas conexiones en ambos casos.

  • @catrielcaruso1687
    @catrielcaruso1687 2 года назад +9

    Buenas Diego! Tengo un tema del que podrías hacer un video corto que podría ayudar a muchos. Es el error: 'Consider canceling any active work during "dispose" or using the "mounted" getter to determine if the State is still active'. Estaría bueno poder entender bien como solventarlo y entender bien el concepto de "mounted" y cuando usarlo y cuando nop. En mi caso me aparecio en muchos momentos, incluso en navegaciones sin controllers o setStates.

  • @signolivideos
    @signolivideos 2 года назад +1

    Breve y super util. Tome su buen like hombre

  • @juliangarciamurillo3918
    @juliangarciamurillo3918 Год назад +1

    ¡Increíble!

  • @estudiom142
    @estudiom142 2 года назад

    mee encanto! Salute desde Arg!

  • @ZorMon
    @ZorMon 2 года назад +5

    Hay una construcción que está en casi todos los lenguajes y también puede servir en casos parecidos para dejar el código incluso más limpio: el switch case. En algunos lenguajes,como c, incluso se permiten expresiones en los case.

    • @rafaelsueyro7825
      @rafaelsueyro7825 2 года назад

      si, uno tiene a no usar switches pero suelen resolver situaciones que requieran usar muchas condiciones

    • @chinox1996
      @chinox1996 2 года назад +1

      prueba rust, con los match (switch) casi nunca debes usar los if, y es muchisimo mas seguro

  • @elEmperador
    @elEmperador 2 года назад

    Nunca lo había pensado. Muy buen dato.

  • @andreszabala3407
    @andreszabala3407 2 года назад

    Video clave, muy bueno!

  • @micorreo1972
    @micorreo1972 2 года назад

    Es una técnica que uso desde hace más de 20 años (lenguajes bien viejos). No sabía que alguien se adjudicó autoría y le puso nombre.
    Bueno, también se puede usar en positivo en todo caso, sólo usa los conectores adecuados y ya.

  • @springprogramming
    @springprogramming Год назад

    lo aprendí a la mala cuando en el trabajo me pidieron pasarle el SONARLINTER al proyecto

  • @vpale
    @vpale 2 года назад

    Increíble cuando vi la miniatura del video pensé que se iba a utilizar algo diferente al if, pero solo fue el if digamos al revés.

  • @giovannivasquezr.2133
    @giovannivasquezr.2133 2 года назад +3

    Pienso que serviría sí tienes excepciones cosa que no siempre sucede. Allí me parece más limpia la anidación

  • @manuelflorescalderon7179
    @manuelflorescalderon7179 2 года назад

    Fantástico, lo hiciste tan sencillo

  • @alejandroaparicioguerra1818
    @alejandroaparicioguerra1818 2 года назад

    muy buena explicacion gracias

  • @sandgurumusic4953
    @sandgurumusic4953 2 года назад +1

    Joder, tras de hacer calistenia, también programa. Que grande Kass

  • @fernandoklein9741
    @fernandoklein9741 2 года назад

    Me encantó el tip, muchas gracias bro

  • @luis96xd
    @luis96xd 2 года назад +1

    Excelente video, muy bueno y bastante ilustrativo, gracias! 😁

  • @gerardojmarroquin6434
    @gerardojmarroquin6434 2 года назад +3

    Podríamos usar un else -if, en ciertas situaciones no?

  • @juniorhsk16
    @juniorhsk16 2 года назад

    Excelente diego gracias por compartir conocimiento, saludos

  • @johnfriend2010
    @johnfriend2010 Год назад +1

    muy buenos consejos

  • @leonardotaza2626
    @leonardotaza2626 Год назад +1

    Amigo haz un curso de java creeme que ayudarias mucho a la comunidad que pasa por profesores que solo "enseñan" pero sin vocación.

  • @francocornejo8802
    @francocornejo8802 2 года назад

    muy bueno el video! me suscribo, ojala saques mas videos como este

  • @tincho15neem
    @tincho15neem 2 года назад +1

    Perdón por la corrección, pero no es un diseño correcto.
    La función que planteas está realizando dos cosas diferentes: chequear la condicion, y hacer algo.
    Lo correcto sería:
    void doSomething() {
    if (canDoSomething()) showUserDashboard();
    }

    • @diegoveloper
      @diegoveloper  2 года назад

      no entendí, compara el antes y después, ambas ejecutan lo mismo, ojo que el throw exception rompe el flujo de ejecución

  • @andreslugo9947
    @andreslugo9947 2 года назад +8

    No me parece que funcione en cada situación, les digo por qué.
    En el primer caso, si no se valida el primer if, nunca se va a llegar a la parte del codigo de adentro, en este caso, otros if.
    En el segundo caso, si no se valida el primer if, de igual manera se va a llegar al resto del código.
    Entonces suponiendo que el usuario no es activo, no está suscrito y no es ProUser:
    En el primer caso, las excepciones serían solamente 'Not a pro user'
    En el segundo caso, las excepciones serían 'User not active', 'User not subscribed' y por ultino 'Not a pro user'
    Corríjanme si estoy equivocado.
    Edit: no tiene sentido lo que dije, no conozco el lenguaje

    • @diegoveloper
      @diegoveloper  2 года назад +11

      El throw Exception rompe la ejecución, ya no continúa

    • @andreslugo9947
      @andreslugo9947 2 года назад +1

      @@diegoveloper Jajaja lo sientooo, pensé que era otra cosa, no conozco ese lenguaje

    • @claudiojmartinsg
      @claudiojmartinsg 2 года назад +3

      @@andreslugo9947 excelente, tenia la misma duda, ya comprendi gracias a esta explicacion.

    • @douglascrcg
      @douglascrcg 2 года назад +5

      Gracias, héroe. Entendí con tu comentario jajajaja. Tonto no es el que pregunta , si no el que se queda con la duda 😄

    • @alanolvera8182
      @alanolvera8182 2 года назад +1

      justo iba a decir lo mismo

  • @Ordnas95
    @Ordnas95 2 года назад +2

    No sean dogmaticos. Las guard clauses son un patrón, y por lo tanto tiene pros y contras. No todo código puede ser mejorado al usarlas.

  • @flaviocejas2324
    @flaviocejas2324 2 года назад

    Se podría limpiar más sacando la llaves de los Ifs ya que es una sola línea. Excelente saludos!

  • @gabrielG279
    @gabrielG279 2 года назад

    pensé que ibas a tirar un switch o usar ternarios o algo así, pero me gustó el resultado, queda muy prolijo

  • @AbelQuispe
    @AbelQuispe 2 года назад

    Esto sirve para los casos.. Pero igual, buen aporte!

  • @lilHoodRD
    @lilHoodRD 2 года назад

    Muy bueno! Gracias, a aplicarlo!

  • @rodrigoluque1453
    @rodrigoluque1453 2 года назад

    Excelente, me suscribo 👍

  • @Bedfford
    @Bedfford 2 года назад +2

    No se trata que los IF anidados sean mala práctica, ocurre que el ejemplo que expones está intencionalmente confuso. Es muy común el uso de códigos anidados en los IF y sobre todo en los ciclos. Los programadores con tiempo y práctica van descubriendo como ir optimizando el código y depende caso a caso. En particular, si el programador tiende a complicar el uso de los IF, es que le falta compreder el uso correcto de los operadores lógicos y pulir el razonamiento en álgebra de Boole.

  • @mariadc3917
    @mariadc3917 Год назад

    te dejo un super me gusta !gracias

  • @g_r_x_v
    @g_r_x_v 2 года назад

    Gracias bro, muy útil el consejo

  • @ioannisblougouras9083
    @ioannisblougouras9083 Год назад

    Aun recuerdo cuando una vez me dijeron que las Guard clause ya no se usaban que eran anticuadas 😆 cuando el código queda mas fácil y las guard clause apoyan mucho el fail fast principle

  • @blackisblack22
    @blackisblack22 2 года назад +1

    Hay mucha gente que programa esas aguilitas incluso llegando a más de 10 niveles de indentación.

  • @roman-tp6sd
    @roman-tp6sd 2 года назад

    gracias Diego!

  • @luisfernandoreyes5839
    @luisfernandoreyes5839 2 года назад +2

    así lo aprendí de mi profesor de compiladores en la universidad :')

  • @ricardoaravena2068
    @ricardoaravena2068 2 года назад

    Ufff. Que recuerdos...no les pasó que por probar el codigo y hacerlo rapido...despues lo "arreglo"

  • @nextdev1
    @nextdev1 2 года назад

    imagino que en este caso que ninguna condicional debe validar nada por el lado negativo? porque que pasa si debes efectuar alguna validacion por ejemplo si el usuario no esta activo?

  • @danmen1094
    @danmen1094 2 года назад

    No es bueno dejarla por defecto al final en este caso, por que por alguna mala configuración de seguridad puede dar acceso.

  • @marcosMartinez-wm7bd
    @marcosMartinez-wm7bd 2 года назад

    Videazo!!!!!!

  • @fernandofernandez3384
    @fernandofernandez3384 2 года назад

    El: queda feo
    Yo: akta escalerita

  • @justiciadivina666
    @justiciadivina666 2 года назад

    diego, te sigo por el thumbnail que te mandaste 🤣, Grande @diegoveloper!

  • @83ponchito
    @83ponchito 2 года назад

    Me gusto bastante muy bueno

  • @manusoftar
    @manusoftar 2 года назад +2

    Es buena práctica pero es bastante insuficiente. Para el ejemplo, que es bastante básico, alcanza, pero la realidad es que el problema con los if anindados se presenta cuando realmente, para cada nivel de anidación, hay sendos caminos que la ejecución podría seguir. En otras palabras, y tomando como ejemplo, el propio ejemplo del video, si para un usuario activo y registrado, pero no pago, tuvieras que invocar otro método diferente, esto es, dos if anidados pero con una salida diferente, entonces, ya no te sirve esta solución.
    Por lo general, yo para este tipo de cosas, utilizo "autómatas" o más bien, el principio de autómatas. Esto es, un arreglo de 2 dimensiones, donde defino reglas de transición de estados, esto es, para cada parte de los if anidados asigno un "estado", entonces, en función de las condiciones que se van cumpliendo, voy a ir "caminando" por los estados.
    Digamos que tengo un estado que es, usuario activo, otro que es usuario inactivo, otro que es usuario de paga, otro que es usuario gratuito, otro que es usuario registrado, y otro que es usuario sin registrar.
    Pues bien, yo defino un arreglo de dos dimensiones donde indicaré, a que estado tengo que ir, si la condición es una condición en particular, por ejemplo, mi estado inicial sería la posición 0 de la primera dimensión del arreglo, luego cada elemento de la segunda dimensión (o sea, cada columna de esa fila) me indicará el número de estado al que tengo que ir en cada caso (número de fila). Entonces, si se cumple la validación de que el usuario está registrado, tendré que pasar al estado de usuario registrado, eso es una posición del arreglo (de la primera dimensión, o sea, una fila), luego en esa fila, tendré la indicación de a donde ir en caso de que se cumplan las otras condiciones, o bien que no se cumpla ninguna.
    De ese modo, no importa la complejidad que tengan los if anidados, siempre tendré una solución simple y limpia.
    No tengo forma de ejemplificar mejor aquí pero sugiero que si alguien no comprendió lo que planteé, que busquen videos sobre autómatas de estado finito y matrices de estados.

  • @jucls2002
    @jucls2002 2 года назад

    Si sigues necesitando un else... Aunque a lo mejor tu código funciona de una forma diferente y si funciona bien. Teóricamente si necesitas ese else para encapsular bien ya que estas suponiendo que lanzar el exception impide lanzar el show pero 'y si no'... Mejor deja el else al final para que se ejecute específicamente cuando ya las condiciones si o si no se ejecutaron. Es también como la diferencia entre else if y if. Si pones dos if se ejecutan los dos si tener en cuenta el uno del otro. Pero si pones un if y luego un else if se ejecutará uno de los dos o ninguno.

    • @diegoveloper
      @diegoveloper  2 года назад

      En realidad no supongo nada, el throw Exception o el lanzar excepciones, siempre rompen el ciclo de ejecución

    • @jucls2002
      @jucls2002 2 года назад

      Creo que llevas razón, perdona. Tengo que repasar este cuatri las excepciones en una asignatura que tengo. No sé porqué mi mente imagino que era algo propio de tu código y no algo nativo del lenguaje. Por eso creí esa suposición, gracias.

    • @diegoveloper
      @diegoveloper  2 года назад

      @@jucls2002 no hay problema, el lanzar excepciones debería funcionar igual en los distintos lenguajes, solo que tiene distinta sintaxis seguramente

  • @SonGoku-pc7jl
    @SonGoku-pc7jl 2 года назад

    muy bien explicado, gracias :)

  • @AOimortal117
    @AOimortal117 2 года назад

    Me sentí bien Pendejo viendo lo fácil que es la solución xD, buen video

  • @canaljoseg0172
    @canaljoseg0172 10 месяцев назад

    Sabían que en la programación orientada objeto, los condicionales sólo debe usarse un caso modulares (como en el ejemplo mostrado) y no procesamiento.

  • @Cotredes
    @Cotredes 2 года назад

    También un elif podría ser útil!

  • @zurnu74
    @zurnu74 2 года назад

    Buena. Agradecido y Suscrito.

  • @yuniorbestardaroche1534
    @yuniorbestardaroche1534 2 года назад +1

    Si usas calculo proposicional, podrás hacer todas esas condicionales en una sola, porque una condicional es una proposición lógica

    • @diegoveloper
      @diegoveloper  2 года назад +1

      El tema es realizar una determinada acción de acuerdo a una condición

  • @mrDalien
    @mrDalien 2 года назад

    Es un método más viejo que el hilo negro. No sabía que lo habían bautizado.
    De todas maneras, es un excelente ejemplo para las nuevas generaciones.

  • @rodrigoaguilargalvis
    @rodrigoaguilargalvis 2 месяца назад

    Una consulta algun libro o algun recurso digital donde se puedan aprender este tipos de tecnicas, como tambien se hizo en el caso de SWTCH. Gracias.

    • @diegoveloper
      @diegoveloper  2 месяца назад

      Quizás el libro Clean Code, lo encuentras online también

  • @guillermoriusech1647
    @guillermoriusech1647 2 года назад +1

    showUserDashboard no se estaría ejecutando siempre que llamamos a la funcion doSomething ?? Es decir.. si se cumple el primer if negado, showUserDashboard se ejecutaria igual ?

    • @diegoveloper
      @diegoveloper  2 года назад

      El throw Exception rompe el ciclo de ejecución

  • @sombras_extranhas
    @sombras_extranhas 10 месяцев назад

    Esta bueno, pero solo es aplicable si tienes una sola funcion principal a la cual quieres llegar dentro de los ifs. Porque si tienes muchos ifs y cada combinacion de ifs y else requieren ejecutar una funcion distinta, no veo otra forma de seguir haciendo ifs anidados, o realizar if con varias condiciones en la misma linea

  • @FabriTutoriales
    @FabriTutoriales 2 года назад

    yo lo usaba inconscientemente xd

  • @MatsubuyaTakaomi
    @MatsubuyaTakaomi 2 года назад

    Agradezco al Algoritmo de youtube por recomendarmelo

  • @baphomet9435
    @baphomet9435 Год назад

    Una idea magnífica: sirve incluso en Python (se que muchos pensaron que usarías un SWITCH en lugar de IF).

  • @acostadc
    @acostadc 2 года назад +1

    Corrigeme si estoy equivocado. No conozco el lenguaje. 1) La primera logica es mas larga pero mostrara un error a la vez; es decir si el usuario no cumple con las 3 condiciones a la vez. Solo se mostrara o subscrito, o activo o pago. 2) La segunda logica es mas corta pero mostrara los 3 mensajes de errores en caso de cumplirse todos a menos que instruccion throw haga un salto. Concluyo que depende de lo que queramos adaptamos el codigo. Saludos....

    • @diegoveloper
      @diegoveloper  2 года назад +2

      hola, el throw Exception rompe el ciclo de ejecución, ya no evaluará las demás condiciones

  • @abasilis
    @abasilis 2 года назад

    Cool! Muchas gracias,

  • @freelancerdev9636
    @freelancerdev9636 2 года назад

    Lo uso pero no sabia como se llamaba, lo aprendi de Fazt Code

  • @thegamerx87
    @thegamerx87 2 года назад

    Gracias crack!!! 😀