Test Driven Design – TDD

El diseño dirigido por test cada vez tiene mas importancia y poseer esta skill es cada vez más valorado. En la actualidad la realización de unit test casi siempre se relega a un segundo plano, y se hace aprisa y corriendo si sobra algo de tiempo en cada release, o se pasa de puntillas sobre este tema para cubrir el expediente como algo burocrático que hay que escribir.

Si se hace una buena batería de test, con sentido, de forma que el código quede bajo cobertura de los test, y los test cubran a su vez las posibles casuísticas, tu aplicación tendrá una muy alta probabilidad de evitar o detectar bugs, de ser mantenible, confiable, de no tener miedo a introducir cambios o mejoras en el código porque tus test detectarán tus errores.

Todo esto estará conseguido si sigues TDD, ya que como voy a explicar, todo tu código se soportará sobre test creados con anterioridad.

Leer más…

Cómo manejar concurrencia con RowVersion

En una aplicación con cierto número de usuarios, puede ser habitual que se lleguen a producir errores de concurrencia. Si no quieres tener una perdida de información a causa de estos problemas, perjudicando la experiencia de tus usuarios, es necesarios que adoptes estrategias o mecanismos para controlar estos accesos concurrentes a la información. En esta entrada te voy a presentar una posibilidad con un buen nivel de automatismo, de forma que implementarla y controlar los errores sea rápido y fácil, dotándote de mayor eficiencia.

La estrategia que te presento el uso de la propiedad RowVersion a través de la Fluent Api de Entity Framework para un control de concurrencia denominado “pesimista”.

Leer más…