Charla técnica: Is TDD dead? Of course not!

Hace poco, vi posteada una charla de Emily Bache titulada Is TDD dead? Of course not! en el blog Garajeando, un blog que suelo leer. Poco después la vi posteada en otro blog que suelo leer, The long way through Software Craftsmanship. ¿Algo debería tener la charla no? Aquí hay un resumen de lo que la charla me a aportado a mí:

Básicamente, la charla habla de las tres críticas que David Heinemeier Hansson hizo a la práctica de TDD con su TDD is dead, long live testing.

  1. Fundamentalismo: para evitarlo, experimenta TDD, inténtalo por tí mismo, que no te lo cuenten. Después, juzga por tí mismo. Para experimentarlo existen prácticas como las code katas o coding dojos y herramientas como cyber-dojo.org.
  2. Daña el diseño: diseñar es difícil (con o sin TDD). TDD te empuja a introducir nuevos niveles de indirección, hacia el Principio de Inversión de Dependencias. Aún así, es tu responsabilidad como programador saber cuándo tu aplicación tiene demasiados niveles de indirección y actuar en consecuencia.
  3. Foco en tests unitarios: puede que David tenga razón aquí, hay mucho foco en los tests unitarios. Emily nos habla de unos tests de Aprobación como complemento a los unitarios.

Un montón de consejos (la mayoría) sobre TDD son para principiantes de TDD. Así que, cuando te den alguno, piensa si ya has superado esa barrera, y si lo has hecho, ignora el consejo, porque tú ya estas por encima de él. Aprende a discernir qué información es válida para tu nivel.