#33840 Pues la segunda es la correcta xD
El odio mueve al mundo, recuerdalo xD
La regla de 'evitar los ternarios' va antes que 'ama a tu equipo'
Que ojo, yo tb leo mejor la primera ajajajajjaja
return (a<b) ? (b<c) ? b : (a<c) ? c : a : (a<c) ? a : (b<c) ? c : b;
Si cobro por líneas despliego eso en un if else
infernal, si no, toma ternario y que se busque la vida el siguiente.
#33840 Pues a mí la segunda me parece menos liosa
Como comentaba, si es un comprobación sencilla sí veo correctos los ternarios antes que los if/else. Lo mismo con los .stream()
y las operaciones lambda para trabajaar con colecciones antes que los bucles for
clásicos
#33772 la primera es la buena, ademas q con esa opcion eres capaz de sacar la posicion tb
los nuevos q se creen q todos los lenguajes tienen iterators o recorrer conjuntos..
#33772 el for each solo se deberia hacer si estas seguro que va a pasar por todos los elementos y solo deberia haber 1 return por funcion xd
#33783 cada vez q haces it next te devuelve el siguiente, osea q devolverias el siguiente al q quieres
Yo cada vez le pillo mas el gustillo al
if(x):
endif;
cuando programas en front y tienes html por medio se ve mucho mas claro un endfor; o endif; que { }
Y del gustillo se me esta pegando en el back tambien.
Maldito el día en el que @MisKo me lió e hice una SPA para manejar una cosa importante xD
Esta bien para hacer el canelo pero cuando el proyecto se vuelve serio es una tocada de cojones escalar, si alguien quiere jugar con ello aquí lo dejo:
https://laravel-starter-kit-docs.darrylfernandez.com/installation/
#33851 ajajajaja, define importante xDDD
De todas formas SPA no significa que el código lo tengas que tener todo en un mismo archivo xD
EDIT
No me gusta como lo monta el tio que has pasado como link xD, a ver si cambio a Nuxt el Imgur que hicimos en Mediavida y lo pongo en el hilo por si te ayuda.
También quería cambiar Lumen a algo de NodeJS+Express, para probar lambdas y now, asíque serían 3 pájaros de un tiro, pero no saco tiempo para jugar con estas cosas xD
#33848 sí, sí, lo sé, tuve que comprobarlo para recordarlo, como no suelo trabajar mucho con ello se me olvidó totalmente.
#33852 pues se suponía que solo era importar un csv con direcciones con articulos para luego imprimir sus facturas en pdf y tener ahí todo unificado para futuros envíos grandes.
Y al final a acabado en todo esto
> Poder crear campañas con estados, datos de envío, acciones de envío, polling de los envios para DHL/DPD/FedEX
> Poder gestionar los datos de los productos que se tienen que enviar, así que hay que crear modelos de producto zzz
> Poder enviar la campaña al cliente con un link y la gestione él mismo cuando no nos paga por ello
> Estadísticas estimación de costes de campaña, precios de los envíos, margen de ganancia...
> Tracking de los envíos a tiempo real
> Facturación de las campañas a los clientes, cuanto se les cobra por envío
> Los clientes deben de poder logearse para ver el curso de la campaña, es decir, tener que poner permisos porque el cliente X no puede ver lo que hace Y y además no debe de poder hacer X cosas zzzz
> Que si el template debe de ser responsive porque nos gusta ir con el puto ipad a presentaciones
> Que si los errores deben de ser intuitivos
Y me dejo cosas, me cago en dios xd
Vamos, que @uchar te tarda dos años en hacer la retail
#33854Troyer:Tracking de los envíos a tiempo real
Con esta te vas a reir xdddddd
Tuve que implementar yo algo muy parecido con Seur, y muchas veces hacen lo que les sale de la polla con los envíos y las recogidas xD
#33857 De los dos, ahora estoy en clase no puedo entenderme.
Sobre el forEach, si estás controlando bien cuando entrar y cuando salir no veo problema en usar ese o el while.
Sobre los return me parece más comodo hacerlo como yo antes que comprobar si es null al final de la función.
#33854 Minucias...
De todas formas, eso no es problema del SPA xDD es como si te piden un logo y te toca hacer una imagen corporativa completa xD
#33858 Tal y como lo has hecho tú el return te rompe el bucle devolviendo null en la primera pasada si no se cumple el if. Tanto en el while como en el for each.
En cuanto a porque debe haber un solo return se supone que es porque si no sabes lo que hace un método cuando vas a leer te fijas en lo que devuelve, que está al final, y a partir de ahí vas mirando como se calcula. Si tienes varios return obligas a mirar el código exhaustivamente. En la mayoría de sitios la peña suda y mete varios return por función. Si la función tiene pocas líneas sin problema, como tenga bastantes (que es lo normal si no sigues buenas pautas) te comes una mierda cada vez que tengas que revisar código.
Tema for each se supone que debes usarlo solamente para operaciones que afecten a todos los elementos del vector, de ahí su nombre. Como lo usas tú es válido pero no es lo más “limpio”.
#33860 Sobre lo que dices que rompe, ya lo sé que lo hice desde el móvil, luego corrijo jajaj.
El 2° párrafo lo entiendo pero no tengo experiencia como para dar mi opinión.
Sobre que el 3° me parece un poco excusa de que alguien dijo que se hacía así y no pensamos en usarlo de otra manera, sinceramente pienso que no es menos limpio por usarlo como yo digo.
#33861 Otra explicación más purista aún para el for each es que se supone que no debes usar returns o breaks para controlar el flujo del programa y todo ese control se debe hacer en las condiciones de ejecución, que con un for each no se puede. Esto sí que no lo hace ni Dios salvo quizás Google y demás empresas del Valle.
Ya te digo que en la práctica es de lo más común ver lo que has puesto tú.
A mi me da pereza crear índices para el while por eso uso foreach como un cabestro, si, debería darme vergüenza y no, nadie me echa la bronca por ello xd
#33858 lo del return es para que sea mas legible. Los unicos returns que se deberian poner (sin contar el de salida) son los del bloque de precondiciones (guard statement).
El foreach es para evitar errores y hacer más eficiente el fujo del programa. No sabes la de veces que he visto usar un foreach para eliminar elementos de la propia coleccion que se recorre...
#33858 por concepto.
- Cuando desconoces las iteraciones
while
y te sales cuando la condición se cumpla. - Cuando conoces el número de iteraciones
for
porque no tienes necesidad de salirte, sabes las que son y se van a ejecutar todas.
Otra cosa es que metas dentro del for un continue o algo así, pero no es lo habitual.
#33864 es lo que tiene programar por y para uno mismo, que se convierte en un cenagal xdd
Es una de las razones por las cuales quiero ser más activo en proyectos libres o algo, para forzarme a coger ciertos hábitos, lo que pasa es que acabo viendo YouTube o jugando a la ps4 xd
#33850 Programar front embebiendo código entre el HTML (o viceversa) no es buena práctica, sobretodo cuando existen motores de plantillas muy completos