Pasa muchas veces, que cuando le enseñas a alguien tu código te quedas con cara de tonto. A mi me pasa mucho, y aún sabiendo que tengo herramientas disponibles para evitarlo en gran medida. Estoy hablando de las herramientas de análisis estático de código.
Cada vez son más las herramientas disponibles. Incluso la última versión del compilador de C# busca violaciones del principio de Liskov, sin embargo no lo califica como un error sino como sólo un warning.
Visual Studio 2010 viene con una nueva característica de análisis de código que podemos usar para realizar un análisis más profundo y evitar sonrojarnos cuando enseñamos nuestro código:

Incluso se pueden establecer y personalizar las reglas que queremos cumplir:

Estas herramientas nos ofrecen avisos sólo cuando se incumplen estas reglas. Incumplir una regla no significa que haya un bug, sólo indica que hay un posible bug y es mejor hecharle un vistazo sin esperar a que aparezca Murphy por ahí diciéndonos: “te lo dije, si algo puede fallar, fallará”.
Espero que os sirva, y a mi también.
Juan María Laó Ramos.