Raúl Ávila

Sobre mí     Archivos

Desgranando Fowler's Refactoring (parte 2)

Continúo la serie de artículos sobre “Refactoring”. En esta ocasión la víctima de mi bisturí será lo que, a mi parecer, es un claro error de diseño cometido en la página 225, cuando se desgrana el refactoring “Replace type code with subclasses”. El resultado final de este refactoring está representado en el siguiente diagrama UML:

Jerarquía Employy

[...Leer más...]

Desgranando Fowler's Refactoring (parte 1)

Refactoring, el libro

El libro “Refactoring: Improving the design of existing code”, es un clásico absoluto de la Ingeniería del Software. Cualquier desarrollador experimentado debe conocer forzosamente muchas de las refactorizaciones propuestas en el libro. El propio autor las tiene recogidas online en este catálogo, aunque sin entrar en muchos detalles (hay que seguir vendiendo el libro, cosa totalmente lícita). En pocas palabras, refactorizar consiste en modificar el código sin que la funcionalidad se vea afectada, y es algo totalmente necesario para la buena salud de nuestro código.

[...Leer más...]

Atajos de teclado en IDE's

En mi anterior post hablé de IDE’s y las diferentes alternativas que hay en el mercado. Mi intención inicial con ese post era hablar de atajos de teclado, pero me extendí demasiado con la introducción y preferí terminar ese hilo para hablar de ello más adelante.

En mi opinión, ningún desarrollador profesional puede proclamarse como tal si no domina al menos una gran parte de los atajos de teclado que detallaré a continuación. El desarrollo de software debe estar centrado en producir una buena arquitectura y un código mantenible y modular. Un código con estas características no es generado a la primera, requiriendo de un proceso sucesivo de depuración y refactorización. Las herramientas ofrecidas por los IDE’s facilitan muchísimo esta labor, y me atrevería a decir que no conocerlas dificulta el proceso a seguir para llevar a cabo las acciones necesarias que nos llevarán a cumplir con el objetivo de entregar un código SOLID.

[...Leer más...]

Entornos integrados de desarrollo (IDE)

IntelliJ Idea

Los entornos integrados de desarrollo (IDE) son una herramienta fundamental en el desarrollo de software profesional (y no profesional, diría yo). La asistencia que ofrecen para la generación de código, navegación entre archivos, depuración, despliegues, integración con control de versiones, etc, los hace imprescindibles para cumplir con los mínimos de productividad que exige un mercado tan competitivo como el actual.

[...Leer más...]

Cómo hice el blog

Jekyll y GitHub

En Internet hay un montón de alternativas para crear un blog propio. Cuando me propuse crear una web personal tuve claro desde el principio que los contenidos generados deberían ser míos. Me explico: en ocasiones, al utilizar plataformas como blogger ocurre que los posts quedan alojados en un servidor sobre el que no tienes ningún control. Y así te puedes encontrar con que nuestro amigo Google ha decidido que no estás cumpliendo las condiciones de uso y cerrártelo de buenas a primeras. En la misma liga juegan los blogs de WordPress, por ejemplo.

[...Leer más...]