Refactorizando de c贸digo con Collections de Laravel

Refactorizando con Collections de Laravel

Deja una respuesta

Comment as a guest.

  1. Tu c贸digo queda mucho m谩s claro, sin dudas. Y es m谩s f谩cil para generar pruebas automatizadas. Solo cambiar铆a tu fromAmsterdan() por un m茅todo que reciba la ciudad como par谩metro en vez de tenerla hardcodeada 馃檪
    El video de Adam Wathan tiene ya 3 a帽os, si le preguntas hoy seguramente 茅l tambi茅n lo refactorizar铆a distinto 馃槈

    1. Marcelo habr铆a que ver el tema de fromAmsterm() porque si la regla de negocio solo contempla Amsterdam entonces estar铆a de mas parametrizarla. Pero bueno, es v谩lido tu comentario porque todo depende del requerimiento que justamente no es lo que tenemos por ser un ejemplo. Lo que si, si te tomo lo del hardcode, hubiera Sido mejor que la ponga como una constante, c贸mo hice con 7500.

      Y lo de Adam, seguramente. C谩lculo que su idea de la charla era hacer el m谩ximo foco sobre las collection.

      Muchas gracias por tu comentario bro! 馃榾

  2. Me parace genial tu refactorizacion. La verdad llevo solo un mes usando laravel y en el trabajo he visto c贸digos que no me han gustado nada. Te pierdes tratando de leer que hace realmente.

  3. A mi parecer tu c贸digo es mas legible, pero agradecer铆a que me orienten un poco mas sobre las colecciones, a simple vista, el ejemplo sin simplificar los veo mas legible, ya que solo 9 lineas aprox., agradecer铆a si me orientan porque el agregar colecciones y clases lo hace mas legible, si veo que tiene mas lineas de c贸digo. Gracias de antemano.

  4. Lo que me choca del refactor propueto es: 驴Que responsabilidades le pertenecen a las clases Collection?. Siento que terminan siendo helpers donde vas a arrojar todo.

    Me encanta el concepto de las Collections Class y me encantar铆a que fueran parte del framework (i.e: Que User::where(…)->all() te retorne un UserCollection en vez de un Collection), pero, el ejemplo me causa el mismo ruido que me causa escuchar a gente hablar de DRY.

    DRY se trata de no repetir la logica de negocios en varios lugares, no de juntar el c贸digo que se parece.

    En lo personal prefiero dejar esos 芦helpers禄 inline dentro del controlador/servicio y no crear una clase con una responsabilidad super poco definida que aguanta todo

    1. Como estas Luciano? Gracias por tu comentario.
      Yo creo que las collections de cada modelo no terminar铆an siendo una bolsa de gatos o contener solo helpers. Estas clases deber铆an tener los m茅todos necesarios para trabajar con una colecci贸n de Users (por ejemplo) y sus m茅todos deber铆an reflejar la intenci贸n del dominio.

  5. Tu c贸digo queda m谩s entendible para ti, pero para otro da igual, como bien dices 芦Encerraste nomas el flatMap禄 ahora para saber que chingados hace hay que ir a ver tus m茅todos que si bien, ya dan mas o menos una idea, pero no quita el problema al 100.

    ESO SI, TU C脫DIGO QUEDO BIEN BONITO como debe ser. Pero creo que tienes TOC.

    En lo personal prefiero ver 5 l铆neas de c贸digo y si no entiendo algo ir directamente a la funci贸n a ver que chingados hace… que andar navegando entre carpetas/clases hasta llegar a la puta funci贸n…

    O sea no critico tu forma de trabajar es muy bonito hacer eso, pero volvemos a lo mismo es m谩s trabajo, tiraste m谩s lineas de c贸digo, hiciste m谩s carpetas… y aunque ganas LEGIBILIDAD EN EL C脫DIGO … ROBUSTECES EL Scafolding … Y a mi en lo particular no me gusta generar un mont贸n de archivos/carpetas o digamos no me gusta tener tanto 芦pedacer铆a de c贸digo禄. Sino solamente despedazar el c贸digo donde realmente es mucho y vale la pena.

    1. 芦que chingados hace禄, 芦creo que tienes TOC禄, 芦puta funci贸n禄?? Tranquilo amigo, no es necesario faltar el respeto y no ser educado.

Sliding Sidebar

Matias Echazarreta

隆Hola!

Mi nombre es Matias Echazarreta.
Soy desarrollador web con m谩s de 12 a帽os de experiencia.聽Amante de Laravel, de los libros y del rock de los ’90. Te puedes comunicar conmigo聽 por trabajos de contrataci贸n, haciendo click aqu铆.

Nuestro Patreon

Desde Patreon puedes solicitar asesoria personalizado. 隆Ir a Patreon!

Suscr铆bete a nuestra lista de correo