Refactoring en PHP

jesus-lopez

El profesor Jesús López es experto en Refactoring. Estudió ingeniería informática por la Universidad de Sevilla y es un apasionado por la programación. Trabaja en su día a día con PHP. Le gusta aprender en su tiempo libre y comparte en su blog todos los conocimientos que va adquiriendo.
En el curso “Refactoring PHP” aprenderás a optimizar tu código a través de sencillas reglas y herramientas que te permitirán pasar de un “smellcode” a un codigo limpio. Nuestro profesor te detalla en el post todo lo que verás a lo largo del curso:

Un día normal como otro cualquiera, me comentan “tienes que añadir una funcionalidad nueva al proyecto,…” parece fácil. Pero mi cara cambia cuando abro el fichero y veo más de 1000 líneas de código, trozos comentados, líneas infinitas, no hay indentación. Conclusión: ¡un horror!

Seguro que ésto te ha pasado alguna vez, ¿verdad? El código legado, sin tests forma parte de nuestro día a día, así que en vez de resignarme y quejarme decidí ponerme manos a la obra y solucionarlo. puedes enfrentarte al código, mejorarlo y que la próxima vez sea todo mucho más sencillo. Es posible optimizar las aplicaciones PHP con unas sencillas técnicas de refactoring. Empecé a aprender estas técnicas, hacer katas, testear dependencias difíciles, etc. Poco a poco he pasado de odiar el código legacy a experimentar la satisfacción de resolver los múltiples retos que me planteaba.

En este curso te explicaré todo sobre del código legacy y de cómo pasar del dolor a la satisfacción. También te contaré de cómo pasar  a hacer un fichero de mil líneas a construir unas clases que cumplen los principios SOLID, de tener un código acoplado a ver como el código empieza a tener tests, empieza a evolucionar y tu empiezas a mejorar como programador.

Refactorizar es cambiar el código sin modificar el comportamiento observable de la aplicación. El objetivo de este curso es mejorar tus habilidades como programador y que puedas enfrentarte a cambiar código sin miedo a romper nada.

gitVeremos como simplificar el código para ganar legibilidad y que añadir funcionalidades sea sencillo. Utilizaremos herramientas simples pero efectivas como Composer, hablaremos sobre trucos en Git, nos olvidaremos de utilizar include y require para aprender autoload. Además conoceremos las recomendaciones de estilo de la comunidad PHP como PSR-2. Manteniendo el foco en hacer un código limpio, junto con unas sencillas técnicas de refactoring, te demostraré que luchar contra el código legacy es posible.

En este curso aprenderemos a identificar los “code smell” en el código legacy. Juntos vamos a ver como transformar esos smell en código para que te sientas orgulloso. Paso a paso te explicaré distintas técnicas como “Extract Method”, “Rename Variable”, “Replace Temp wih query”, “Move Method”, etc. que nos ayudarán mucho en nuestro día a día. Son técnicas que tienen como base la sencillez y nos aportan una gran efectividad. Después de aplicar estas técnicas y casi sin darnos cuenta llegaremos a una solución simple, legible, fácil de mantener y testeable.

Además veremos cómo testear clases con dependencias, en las que a priori parece imposible tocar una línea de código sin romper nada. Poco a podo, dando pequeños pasos, aplicando técnicas de refactoring, llegaremos a soluciones útiles. Del mismo modo estas técnicas son sencillas que podrás aplicarlas en tu día a día con aplicaciones legacy en PHP.

Con un poco de paciencia, te darás cuenta que modificar el código sin cambiar el comportamiento es sencillo. Basándonos en ejemplos claros y con la ayuda del IDE podrás extraer métodos, harás que esa función tan grande que hace tantas cosas empiece a parecer más “bonita”, verás que moviendo métodos a otras clases tu código empieza a cumplir los principios SOLID. Y eso solo es el principio.

Finalmente, aprenderemos que tener un código legacy no, no es un tormento sino un reto. Un desafío para aprender a testear, a sacarle el máximo partido a PHP,  para construir código mantenible basado en los principios SOLID.

Si te ha gustado el contenido del post y quieres limpiar tu código para mejorarlo, no te lo pienses más y apúntate a nuestro curso de Refactoring PHP. 

 

Berto Cervera

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *