Refactoring y Connascence

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.

Seguir leyendo “Refactoring y Connascence”

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 😉

Seguir leyendo “Curso de Refactoring en PHP”

Naming, que difícil es

¿Cuál debería ser mi primer test? ¿y el siguiente? Cada vez que empezamos a escribir test nos vienen a la cabeza cuestiones similares. La decisión a veces es fácil y otras, no tanto. Pero esto no solo cuando escribimos tests, al leer los nombres de los test no se acercan ni de lejos a lo que estamos intentando probar.

Seguir leyendo “Naming, que difícil es”

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

Seguir leyendo “Como refactorizar utilizando PHPStorm”