Feda /dev/

MisKo

#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

eXtreM3
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.

1
NoRelaX

#33840 Pues a mí la segunda me parece menos liosa :thinking:

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

Fyn4r

Operadores lógicos > inventos extraños

1
Soulscx

#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..

1 respuesta
PaCoX

#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

1 respuesta
MisKo

Soulscx

#33783 cada vez q haces it next te devuelve el siguiente, osea q devolverias el siguiente al q quieres

1 respuesta
isvidal

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.

isvidal

ah perdonad, programar front no es programación

1 respuesta
Troyer

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/

1 respuesta
MisKo

#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

1 1 respuesta
afhn

#33848 sí, sí, lo sé, tuve que comprobarlo para recordarlo, como no suelo trabajar mucho con ello se me olvidó totalmente.

Troyer

#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

2 respuestas
eXtreM3
#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

B

#33845 En mi caso utilizando ArrayList también puedo saber la posición con indexOf.

#33846 Cual es la explicación a esto?

1 respuesta
eXtreM3

#33856 del foreach o del return?

1 respuesta
B

#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.

3 respuestas
MisKo

#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

Grise

#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”.

1 respuesta
B

#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.

1 respuesta
Grise

#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ú.

Fyn4r

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

Soulscx

asi va el pais

1 respuesta
PaCoX

#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...

eXtreM3

#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.

Sk8eR

Los que no usáis ternarios dentro de ternarios sois naps.

Fyn4r

#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

1 respuesta
Lecherito

#33868 xD me pasa lo mismo aunque tengo uno hecho y me sigue dando pereza

neil90

#33850 Programar front embebiendo código entre el HTML (o viceversa) no es buena práctica, sobretodo cuando existen motores de plantillas muy completos

Tema cerrado