El propósito de las ternarias es acelerar la programación para condiciones muy sencillas. Armar un laberinto con ellas va contra la filosofía de la herramienta.
En php hay un sistema llamado match en donde uno le asigna un valor a una variable dependiendo de una condicion, es como unir un switch con el operador ternario, seria bueno que js lo tuviera o lo implementara de otra forma
Ya me ha tocado hacer ternarias aninadas y llega ser un poco complejo además creo que no es muy óptimo para cuando se trabajan con más devs, esto en JS pero en PHP hice algo similar y la diferencia es que se necesitan agrupar las evaluaciones.
uso mejor la segunda opcion y no es por que me pierda en las ternaria anidadas (ya que si lo ves de cierta forma es como las condicionales en excel) y la razon es que lo veo poco estetico
En el ejemplo del vídeo, estoy a favor. El problema reside en el rendimiento si alguna de las validaciones tiene cierto “coste” (acceso a recurso, consulta de api, función de calculo…etc)
Estrictamente hablando puede existir ternarios anidados ? Por que si un ternario consta de 3 elementos. Cuando agregas una nueva condicional no pasa ya a ser otra cosa?
Eso lo considero un código que debe ser refactorizado. Dejar la segunda opción de los if es por lejos mucho más lejible, hasta el jr más jr de los jr, entiende lo que significa un if y un return. En cambio con las ternarias anidadas, la mayoría de devs jr dudará de que realmente sea así, le darán más de una vuelta para estar seguros de que no están cagandola.
Sí, pero también es un antipatrón. Cuando ya tienes más de 2 condiciones, lo ideal sería agregarlo en una estructura (puede ser en un archivo externo) y luego pasarlo con un loop. Con esto evitas el hard coding y el alto acoplamiento.
Aunque no tenga problemas al leerlas, prefiero hacer código mas legible, mi intención es facilitarle la lectura a mis colegas. Además no tiene ningún beneficio el escribir las condiciones de esa forma.
Sí se ve más legible pero aun así se está cometiendo un antipatrón. Por ejemplo, imagina que quieres agregar "semanas", "meses", "años", etc. entonces en este caso tendrías que meterte con la lógica del programa cada vez que quieras agregar o modificar un elemento, o sea, hay alto acoplamiento. En todo caso, la solución "correcta" usando las convenciones sería irte por un switch ya que es más escalable, pero incluso -con el ejemplo que dieron- se puede mejorar usando alguna estructura de datos y luego recorrerla con un filter. Así bajas la lógica de 5 o más lineas de código altamente acoplado a una sola línea que funciona de forma dinámica. .
no me gusta como se formate el codigo, es muy confuso para una segunda persona, no lo usaria no lo recomendariay lo prohibiria si alguien lo usa en mis proyectos
Las ternarias anidadas son difíciles de leer, pero si las pintas como lo hiciste y lo lees como if else, pues siguen siendo lo mismo. Aun así mejor usar if else. La gente no tan experimentada lo entenderá mejor.
La forma más rápida de saber que está mal usarlo es porque tienes que leerlo 3 o 4 veces para entenderlo, a diferencia de un código más expresivo, al cual le das una ojeada y al toque lo entiendes, pienso que solo es agregarle complejidad al código.
No debería porque tanto los if como los operadores ternarios se interpretan como operadores AND, es decir, son lo mismo para el procesador. En todo caso, la única ventaja que tendría es el ahorro de caracteres que literalmente serían 3 bytes, 3 BYTES!
El propósito de las ternarias es acelerar la programación para condiciones muy sencillas. Armar un laberinto con ellas va contra la filosofía de la herramienta.
En el caso del video me parecen totalmente validas y muy legible , pero es cuestión de gustos
En proyectos personales puede colarse, pero en cosas más serias, dudo que un nested ternary pase un code review.
Mi code review no, a menos que honestamente sea un caso en el que se entienda mejor.
Si un programador se confunde con lógica matemática tan básica, apaguen todo y ya está
por mi parte correspondería solicitar un refactor o no apruebo el pr jaja
Approval a lo loco y pa lante. 😉
@@CarlosLopez-lf1un sigue estudiando
En php hay un sistema llamado match en donde uno le asigna un valor a una variable dependiendo de una condicion, es como unir un switch con el operador ternario, seria bueno que js lo tuviera o lo implementara de otra forma
Se puede usar la declaracion switch que te da algo similar
Ya me ha tocado hacer ternarias aninadas y llega ser un poco complejo además creo que no es muy óptimo para cuando se trabajan con más devs, esto en JS pero en PHP hice algo similar y la diferencia es que se necesitan agrupar las evaluaciones.
Un estudiante me hace esas ternarias anidadas en clases y lo pongo en la pizarra a escribir 200 veces: "Las ternarias anidadas le hacen mal al mundo"
Es fijo perderse con muchas ternarias anidadas
uso mejor la segunda opcion y no es por que me pierda en las ternaria anidadas (ya que si lo ves de cierta forma es como las condicionales en excel) y la razon es que lo veo poco estetico
@midulive que programa es el que estas utilizando en este video? gracias!
que lindas esas ligaduras, de que fuente són ??
Si no me equivoco midu usa cascadia code
Puede ser Iosevka o Monoid
Creo que es firacode
Yo las uso para lógicas simples, si necesito hacer lógica dentro entonces uso if normal
Yo lo he intentado pero no pasa los cr de mis compas, es más claro y rápido con un if de toda la vida
Yo solo uso las ternarias en JSX y muuuuuuuuuuyyyy rara vez las uso para hacer un console.log() que dependa de una variable.
En el ejemplo del vídeo, estoy a favor.
El problema reside en el rendimiento si alguna de las validaciones tiene cierto “coste” (acceso a recurso, consulta de api, función de calculo…etc)
Como se llama el programa q usas para escribir el codigo y q te de el resultado en cosola directamente?
Estrictamente hablando puede existir ternarios anidados ? Por que si un ternario consta de 3 elementos. Cuando agregas una nueva condicional no pasa ya a ser otra cosa?
no soy muy fan de las ternarias anidadas pero en casos muy concretos y muy bien llevadas van muy bien
Explicación impecable! Como siempre! Saludos midudev
Eso lo considero un código que debe ser refactorizado.
Dejar la segunda opción de los if es por lejos mucho más lejible, hasta el jr más jr de los jr, entiende lo que significa un if y un return.
En cambio con las ternarias anidadas, la mayoría de devs jr dudará de que realmente sea así, le darán más de una vuelta para estar seguros de que no están cagandola.
podrían se rutiles en React para renderizar uno u otro componente?
Sí, pero también es un antipatrón. Cuando ya tienes más de 2 condiciones, lo ideal sería agregarlo en una estructura (puede ser en un archivo externo) y luego pasarlo con un loop. Con esto evitas el hard coding y el alto acoplamiento.
Los ternarios estan para simplificar un simple if else, para los ostros casos hay mejores opciones
Aunque no tenga problemas al leerlas, prefiero hacer código mas legible, mi intención es facilitarle la lectura a mis colegas. Además no tiene ningún beneficio el escribir las condiciones de esa forma.
Me parece lícito el comentario! 👍
Por qué no usar operadores lógicos?
const getTime = (seconds) => {
return (
(seconds
Sí se ve más legible pero aun así se está cometiendo un antipatrón. Por ejemplo, imagina que quieres agregar "semanas", "meses", "años", etc. entonces en este caso tendrías que meterte con la lógica del programa cada vez que quieras agregar o modificar un elemento, o sea, hay alto acoplamiento. En todo caso, la solución "correcta" usando las convenciones sería irte por un switch ya que es más escalable, pero incluso -con el ejemplo que dieron- se puede mejorar usando alguna estructura de datos y luego recorrerla con un filter. Así bajas la lógica de 5 o más lineas de código altamente acoplado a una sola línea que funciona de forma dinámica. .
no me gusta como se formate el codigo, es muy confuso para una segunda persona, no lo usaria no lo recomendariay lo prohibiria si alguien lo usa en mis proyectos
Búa, re radical.
Las ternarias anidadas son difíciles de leer, pero si las pintas como lo hiciste y lo lees como if else, pues siguen siendo lo mismo. Aun así mejor usar if else. La gente no tan experimentada lo entenderá mejor.
Midu una cosilla, podrías enseñar algún día la config de tu iterm? :D
Se ve elegante, me recuerda a la sentencia cond en elixir
Yo voy por el IF... el código tiene que ser facil de leer
nadie se acuerda de usar switch para este caso :(
Preferiria usar una IIFE con if anidados
Las ternarias le cuesta mas a js que los ifs
Puedo parecer noob pero ya llevo viendo varios videos y me gustaría saber que editor usas para los ejemplos? 😅 que te muestra resultado en tiempo real
RunJs
xD no sabia que existían pero opino igual que midu
Las ternarias mandan
yo hace mucho lo uso a las ternarias anidadas 😎
seria mas como un switch
La de abajo (if) se lee más elegante, muchísimo
Para este tipo de casos lo mejor son los object literals.
Pues justamente en este caso creo que no son tan buena idea. 🤣
Muy buena la explicacion
Por supuesto las ternas.
Yo como programador minimalista uso ternarias 👌
hermoso como siempre 💪
me parece horrible, prefiero usar if...else queda mucho mas legible
4:05
La forma más rápida de saber que está mal usarlo es porque tienes que leerlo 3 o 4 veces para entenderlo, a diferencia de un código más expresivo, al cual le das una ojeada y al toque lo entiendes, pienso que solo es agregarle complejidad al código.
Cries in Intl
Amo las ternarias
yo las uso :D
Las ternarias tienen mayor performance que los if sino lo sabías
No debería porque tanto los if como los operadores ternarios se interpretan como operadores AND, es decir, son lo mismo para el procesador. En todo caso, la única ventaja que tendría es el ahorro de caracteres que literalmente serían 3 bytes, 3 BYTES!
Second
First