Category: dev practices 2016 Pondering a prescription for pattern matching prevalance Feb 16 2016 2014 Splitting responsibilities by abstracting type details Feb 08 2014 2012 Design via minimum code May 01 2012 2011 Some mocking opinions Nov 22 2011 Technical debt Aug 12 2011 Abstraction and OO Jun 09 2011 Random software dev thoughts (June 2011 edition) Jun 03 2011 Rules Jan 28 2011 2010 On design and missing the forest for the trees May 07 2010 Friends don't let friends test-drive while refactoring May 06 2010 What exactly is TDD driving? Feb 23 2010 Refactor or redesign? Feb 06 2010 2009 Favour test driving logic over data Nov 04 2009 Coding tiger, hidden responsibility Aug 21 2009 Moving to scenario-based unit testing in .NET Jun 10 2009 Testing legacy code when simple threading's involved Feb 10 2009 An introduction to the SOLID principles of OO design Jan 21 2009 2008 The (very) basics of AAA with Rhino Mocks 3.5 Oct 01 2008 Yet another way of raising events from mocks Jun 21 2008 DI and cross-cutting concerns Jun 19 2008 Attempting to understand Dependency Injection Jun 12 2008 Top-down vs. bottom-up design May 27 2008 Garden Race Series: Basics of iterative development and TDD May 15 2008 2007 Link: Refactoring walkthrough Oct 19 2007 Free articles every developer should read Sep 28 2007 Learning from project failures with Raganwald Sep 25 2007 Misusing fluent interfaces Sep 12 2007 Anders NorĂ¥s on DSLs with C# Jul 11 2007 The Ivory Tower of effective development practices Jun 18 2007 Persistence ignorance and TDD with LINQ to SQL Jun 11 2007 Explaining good code to non-geeks Jun 05 2007 RAD or Refactor? May 08 2007 The Way of Testivus Apr 27 2007 Jeremy Miller on Orthogonal Code Jan 10 2007 MartinFowler.com - articles and pattern catalogues Jan 04 2007 Refactoring Catalogue Jan 04 2007