Técnicas para mantener al legacy code bajo control

Somos desarrolladores de software, tenemos que leer código gran parte de nuestro día, tenemos que usar código legado y tenemos que mantenerlo, incluso añadir nuevas funcionalidades. ¿Cómo lo hacemos? ¿Cómo abordamos cambios en legacy code de manera eficiente? Pues no tengo ni idea, pero sí sé que si tengo una buena caja de herramientas cerca mi trabajo será más sencillo. Por eso en este post vamos a llenar nuestra caja de herramientas con algunas técnicas que nos ayudarán a trabajar un poco mejor con legacy code. No se trata de usarlas todas siempre, sino de tenerlas a mano para cuando nos hagan falta. Continúa leyendo Técnicas para mantener al legacy code bajo control

Refactoring y Connascence

Hace poco tiempo hablamos de Connascence. En el post comentamos que el Connascence es una métrica de calidad software y una taxonomía (forma de clasificar) el acoplamiento entre componentes software. Por ello es una buena herramienta para tomar decisiones de diseño sobre todo cuando estamos refactorizando.

En el libro de Refactoring se habla de «code smell» como una manera de identificar la partes del código que pueden tener problemas y que sería bueno refactorizar. El inconveniente de los code smells es que son subjetivos y pueden variar según el lenguaje de programación, el desarrollador. Por ello podemos ayudarnos del connascence para identificar los code smell y así empujar el refactoring tomando decisiones basadas en el connascence.

Para ilustrar esto, lo ideal es tener en cuenta esta gráfica.

Continúa leyendo «Refactoring y Connascence»

Anuncio publicitario

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 de información. En la red hay miles de artículos, blogs, wikis, listas de distribución sobre programación, testing, docker,… no terminaba de encontrar un curso que de verdad me aportase algo más. Estaba buscando mejorar mis habilidades como programador, que fuese en español, con comunicación directa con los profesores.

rrss.jpg

Un día casi por casualidad, encontré un post de Xavi Gost hablando sobre el curso «De refactoring a patrones» impartido en GeeksHubsAcademy, la verdad es que era escéptico sobre los cursos en video, pero me convenció el hecho de hacer hangouts para poder resolver dudas y además @islomar me dio un empujón en forma de descuento 😉

Continúa leyendo «Curso de Refactoring en PHP»

Como refactorizar utilizando PHPStorm

Ya llevamos tiempo hablando de refactorizar, de mejorar nuestro código y de que tengamos testado todo nuestro código para que así podamos hacer cambios y resolver bugs de manera más sencilla. Como dice Martin Fowler: «Refactorizar es una técnica para mejorar el diseño de una base de código existente». Todo este tiempo hemos estado utilizando PHPStorm como IDE, creo que tenemos claro que es una gran herramienta, que nos ayuda a que seamos ma´s productivos, por eso hoy escribiremos una pequeña guía sobre Como refactorizar utilizando PHPStorm.

Empezaremos por lo más simple renombrar una variable e iremos mostrando distintos atajos para que podamos hacer refactoring de manera sencilla

Continúa leyendo «Como refactorizar utilizando PHPStorm»