Developing clean, testable, code has been a passion since my first full-time job as a programmer, when I inherited a mess of spaghetti-code in the form of a large ASP classic web application. Since 2009 I’ve written written more than a dozen blog posts on unit testing, created several presentations, and evangelized unit testing at every opportunity.
As with most fields of practice, some techniques are continuously relevant while others change with greater experience, experts’ insights, and advances in the available tools. This article aims to be a living document capturing my understanding and advocacy of best practices with respect to development of high-quality, easily-testable, object oriented code. It will bring together all of the best parts, and hopefully correct the worst, of my technical blogging background.
While all of the examples are in C#, the principles generally transcend the specific language.
- SOLID and Unit Testing
- Legacy Refactoring
- Test-driven Development
- Patterns for Writing Clean Test Cases
- Toolkit for .NET Unit Testing