Modernizando aplicaciones PHP: antipatrones más comunes

Hacía tiempo que no escribía, pero hoy voy a contar un poco como modernizar aplicaciones sobre todo enfocado en PHP. A lo largo de mi carrera he tenido la oportunidad de “meter las narices” en unas cuantas aplicaciones… a algunas de ese aplicaciones podríamos llamarlas “legacy” en el sentido de que son aplicaciones que necesitan algo de “cariño”. Así que veremos loas antipatrones más comunes cuando nos enfrentamos a una aplicación legacy. Este artículo no vamos a reescribir todo en ,sino que veremos comohacer nuestras aplicaciones un poco más mantenibles.

Curso de Refactoring en PHP

Este es un post un poco especial, voy a impartir este curso sobre refactoring en PHP y me gustaría contar un poco como ha sido todo este proceso desde que empecé como alumno en geekshubs academy hasta que nos pusimos manos a la obra para grabar un curso. Aunque Internet es una fuente inagotable deSigue leyendo “Curso de Refactoring en PHP”

Mejorando la kata FizzBuzz

Hace unos días hicimos nuestro primer video haciendo la kata FizzBuzz, esto fue un primer acercamiento de como empezar con TDD y buenas prácticas. Ahora reflexionamos sobre la solución de la kata y veremos que introducimos ciertos code smells que en una segunda iteración intentaremos ir solucionándolos para hacer llegar a un código más robusto.Sigue leyendo “Mejorando la kata FizzBuzz”

Refactorizando servicio después del testing

Hace unos días empezamos con la kata TripServiceKata y conseguimos hacer tests unitarios de la clase TripService, pero ¿de verdad vamos a conformarnos con eso? Hemos conseguido tener test utilizando una clase recubrimiento, ahora vamos a refactorizar el proyecto TripService para que no sea necesario utilizar recubrimientos.

Haciendo testing unitario al 100

Haciendo testing unitario al 100%. Hace unos días estuvimos hablando de como refactorizar controladores para separar responsabilidades. Ahora llega la hora de dar un paso más y testear unitariamente las clases que creamos. La idea detrás de este post es que modifiquemos una clase ya construida y funcional, llenarla de tests y refactorizarla para queSigue leyendo “Haciendo testing unitario al 100”

Refactorizando controladores: Separando responsabilidades

Una de las cosas más complicadas para los programadores es tomar consciencia sobre las como modelar situaciones y objetos del mundo real y aplicarlos al mundo de la programación. De vez en cuando, es necesario dar un paso atrás y pensar en lo que se ha estado haciendo. Así es como al final, acabamos dándonosSigue leyendo “Refactorizando controladores: Separando responsabilidades”

Skinny Controller: moviendo la lógica del controller

Cuando empecé a utilizar PHP, yo incluía bastante cantidad de lógica en el controller, entonces empecé a leer sobre refactoring y me topé con skinny controller fat models, el código de mis controlllers se reducía bastante y la lógica estaba en los modelos, pero lo único que hacía era mover el problema de sitio. AhoraSigue leyendo “Skinny Controller: moviendo la lógica del controller”

Refactorizando el cliente de “Cat API” – Parte 3 –

Esto es una traducción libre de Refactoring the Cat API client – Part III En la primera y segunda parte hemos estado trabajando en separar las preocupaciones que teníamos al principio combinadas en una sola función. Los principales “personajes” en el escenario ya han sido identificados: un httpClient y una caché, utilizadas por diferentes implentacionesSigue leyendo “Refactorizando el cliente de “Cat API” – Parte 3 –”

Refactorizando el cliente de “Cat API” – Parte 2

Esto es una traducción libre de Refactoring the Cat API client – Part II El mundo un sitio seguro Cuando estas ejecutando test unitarios, no quieres que el resto del mundo este involucrado en tus tests. Ejecutar consultas en bases de datos reales, hacer peticiones HTPP, escribir en ficheros, nada de esto es deseable: haránSigue leyendo “Refactorizando el cliente de “Cat API” – Parte 2″

Refactorizando el cliente de “Cat API” – Parte 1

Esta es una traducción libre de Refactoring the Cat API client – Part I Mattias Noback tenía la idea de hacer una serie de videos sobre “Principles of Package Design book” pero finalmente en vez de videos hizo una serie de post con el material que tenía pensado presentar en los videos. Para empezar estaSigue leyendo “Refactorizando el cliente de “Cat API” – Parte 1″