Share on twitter
Share on linkedin

Refactoring en PHP

Share on twitter
Share on linkedin

 

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. 

TAMBIÉN TE PUEDE INTERESAR