Blog personal
Cuando escribo, entiendo mejor el mundo.
Blog personal
Cuando escribo, entiendo mejor el mundo.
Triple-equals is not always the best choice
Some javascript developers say that "===" operator is always better than "==". I disagree with that. I find javascript a different language when you test-drive your code. Different rules and...
Clean Coders: E1 subtitulado
CleanCoders.com es el portal que contiene la serie de videos sobre código limpio de Uncle Bob. Es formación en video. Los episodios se corresponden con capítulos del libro "Clean Code". Es excelente...
Compartir la visión de equipo
Para que un grupo de desarrolladores trabaje como un equipo, tal vez sea importante que todos sus miembros tengan el mismo concepto de equipo. ¿Cómo es el equipo que queremos ser? ¿cuáles son las...
¿De verdad necesitas estar a la última?
La mayor barrera a la que un equipo se enfrenta a la hora de practicar XP o cualquier método ágil, son las personas. La falta de madurez y de compromiso imposibilita la paz sostenible de la que...
RS: Sprint por historia de usuario
Con una entrada de trabajo tremenda los sprints semanales se han ido terminando sin consecución de las metas esperadas. Cada semana con un poco más de atasco y menos objetivos cumplidos. Uno de los...
Linq to Sql Horrors
Linq to Sql is a kind of ORM for .Net by Microsoft. Working with Linq to Sql can be a nightmare. The basics: In order to send or retrieve objects to or from the database, you need a DataContext...
Un solo valor de retorno
Hay un mal que se esta extendiendo por la aplicación en las últimas semanas. Es el ResponseDTO. Es un objeto plano, tiene un campo "success" de tipo boolean y un campo "message" de tipo string....
Cleaner interaction tests
Note: this post will probably evolve, the text will be updated as I need it. In order to write cleaner interaction tests (those which use test doubles; mocks, spies, stubs) you should understand how...
Apego a la herramienta
Cuandó programaba en Delphi arrastrando componentes gráficos para programar las aplicaciones de escritorio, me parecía tan potente y tan sencillo que no quería cambiar de herramienta (allá por...
Mockito Vs Moq
Don't be confused, the title is just to get your attention. This is not a benchmark between Mockito and Moq. I need to explain some differences to my teammates so that the transition between...
RS: Aprovechar la experiencia
En el sprint de esta semana nos hemos dado cuenta de errores cometidos semanas atrás. Las acciones más importantes ahora para seguir mejorando, son: Que cuando reimplementemos una funcionalidad (o...
RS: planificación de sprint
Nuestros sprints son de una semana, empiezan el lunes y terminan el viernes. Planificamos en el daily standup meeting del lunes por la mañana. Pero el daily no queremos que pase de los 20 minutos...
El equipo crece
Buscábamos a un artesano (o lo que a mi me vale por artesano) y hemos tenido la suerte de encontrarle. En enero se incorpora al equipo Ismael Ferrer (@ifolmedo). Tuvimos dos excelentes candidatos,...
RS: Trazabilidad
En la retrospectiva de esta semana hemos hablado sobre todo del proceso de desarrollo. Nuestro proceso se apoya en kanban, no hacemos scrum. Scrum es demasiado lento para la velocidad con que nos...
Javascript, an acquired taste
You hate it, you love it You start hating it but you might end up having so much fun with Javascript. It takes time to acquire the taste and enjoy the powerful capabilities that annoy you at the...
RS: enfocados hacia la calidad
Este post de retrospectiva vale por las últimas semanas. Desde el último post de retrospectiva hasta ahora, estamos notando una evolución espectacular en el equipo, tanto en el compromiso que cada...
Don’t let mockito confuse you
The new version of mockito comes with a new method: spy. Very useful feature but... bad name! The mockito's "mock" method creates already a spy object. The "spy" method creates a "proxy" or "proxy...
RS: Pomodoros
Esta retrospectiva vale por las dos últimas semanas. Lo que todo el mundo ha visto fácilmente y en consenso es que nos hace falta respetar más los pomodoros, de ahí el título de hoy. Estamos...
Screencast: Replace conditional, Part II
This is the second part of the "Replace conditional with polymorphism" screencast, where I kept using the Command and Template Method design patterns. This time we see how a base controller class...
First refactoring screencast
Note: Although this screencast is narrated in Spanish, the code is in English. Some parts of the code are legacy. There are more notes about this below. Although the code is C#, everything is valid...