Encapsulación, visibilidad y retención de estado

Para empezar nada mejor que hablar del concepto el que se erigió como el único punto en común del comité de sabios mencionado en el anterior post la encapsulación. Después hablaremos de la visibilidad, un concepto que suele ir de la mano de la encapsulación, llegando a tratarse como si fueran lo mismo. Para finalizar, dedicaremos algunas líneas a hablar de la retención del estado, algo muy obvio pero esencial en orientación a objetos. »

Author image Modesto San Juan

Redescubriendo la orientación a objetos

Mi introducción en la orientación a objetos La primera vez que escuché hablar de la orientación a objetos yo estaba en un momento de mi aprendizaje en el que no me cuestionaba mucho el porqué de las cosas. Estaba demasiado ocupado en asimilar la cantidad de cosas que tenía que aprender y me limitaba a tratar de ingerirlas sin indigestarme, que ya era bastante. Digamos que estaba en pleno "Shu" y aprendía fundamentalmente por imitación. »

Author image Modesto San Juan

Arquitectura de software como habilidad

El pícaro en AD&D 2ª edición Advanced Dungeons & Dragons 2ª edición tenía un sistema de reglas bastante restrictivo que puede ser resumido con un ejemplo bastante sencillo: el pícaro era el único tipo de personaje que tenía permitido intentar esconderse entre la sombras o moverse sigilosamente. Si, es así de fácil. Si no eras un pícaro, esas dos habilidades estaban fuera de tu alcance. En su disculpa he de decir que AD&D 2ªed. »

Author image Modesto San Juan

La regla del boy scout

Hay discipinas en las que dicen que a largo plazo es más importante la constancia que el talento. Creo que en el desarrollo de software tener constancia es una virtud. Conforme va avanzando un proyecto, es normal que el diseño sufra cambios (preferiblemente pequeños) y a la vez el código puede sufrir altibajos de calidad. Tener un conocimiento escaso del problema, equivocarnos al enfocar la solución y muchos otros factores pueden llevarnos a una circunstancia muy habitual: estamos enfocando una historia de usuario y pasamos por una parte de nuestro código que no se entiende bien, está mal enfocada, es complicada de extender, en general, nos está impidiendo avanzar de forma fluida hacia nuestro objetivo, entregar valor. »

Author image Modesto San Juan

Desarrollador, pon contenedores en tu vida

No, en este post no te voy a vender las virtudes de desplegar su aplicación sobre docker. Mucho se ha escrito sobre el tema y mucho se seguirá escribiendo. También se ha escrito de lo malo que es docker y de lo no tan malo que es. Este post está destinado especialmente a todos aquellos desarrolladores que no desplegáis vuestras aplicaciones con Docker. Porque los que ya usáis docker en el ciclo de entrega ya sabéis lo que voy a contar y además os parece obvio. »

Author image Modesto San Juan

Nuevos retos

Estos últimos dos meses he andado bastante liado y no he prestado mucha atención al blog. Esta vez no voy a hablar de ningún tema técnico, se trata de una post muy personal. Si no te interesa mi vida, deja de leer. Si te interesa, eres un poco cotilla ;P Este mes cierro una etapa profesional maravillosa que me ha dado muchas alegrías, me ha permitido trabajar con un equipo genial, aprender como no lo hacía en muchos años y divertirme haciendo lo que más me gusta, desarrollar software. »

Author image Modesto San Juan

¿Cuánto cuesta llamar a un método?

Últimamente Twitter está siendo toda una fuente de inspiración. En esta ocasión el hilo culpable es este. Javier Cantón hace un comentario respecto a la diferencia de rendimiento existente entre llamar a un método virtual versus llamar al mismo método a través de un interface. En este post no pienso hablar de lo malvadas que son las optimizaciones prematuras, asumo que el comentario de Javier tenía su contexto, así que me voy a quedar con la parte que me ha resultado curiosa. »

Author image Modesto San Juan

Claves primarias: inmutabilidad y generación

Hace unos días Pablo Iglesias tuiteó una pregunta de Stack Exchange en la que hablaban sobre la inmutabilidad de las claves primarias. Se generó un debate bastante interesante en Twitter que se extendió más allá de la cuestión de la inmutabilidad. Este es un intento de recopilar y explicar algunos de los conceptos que se mencionaron durante ese debate. Claves primarias mutables o inmutables Para el que ande un poco perdido con el concepto, básicamente se trata de determinar si la clave primaria de una entidad debería poder cambiar o no una vez establecida. »

Author image Modesto San Juan

Palabras malditas

Extreme programming y el desarrollo ágil A principios de siglo (dicho así parece que queda muy atrás, eh… :P) trabajaba en Indra como coordinador de un equipo de desarrollo. En mi entorno profesional era un poco como un bicho raro porque, además de ser 10 años más joven que la media de mi puesto, era de los pocos que se negaba a abandonar el desarrollo para dedicarme plenamente a la gestión. »

Author image Modesto San Juan

Presta atención a tus datos de pruebas

Los datos utilizados en las pruebas son muy importantes y, aunque el tema de este post parece muy obvio, no son pocas la veces que me he encontrado con problemas debido a este tema, así que creo que merece la pena dedicarle al menos unas líneas. Hay varios aspectos que son importantes a tener en cuenta al definir datos para nuestras pruebas automáticas. En este post me voy a centrar en tres errores que me encuentro con frecuencia: »

Author image Modesto San Juan