Malleable Code: How Tests Improve Production Code

room: Plaza Ballroom B — time: Wednesday 14:00-14:45, Wednesday 14:45-15:30
Level: Introductory

Test Driven Development (TDD) is not just about the tests. Test Driven Development is also a design discipline. In fact, many TDD veterans prefer using the acronym to refer to Test Driven Design. So, how exactly does TDD improve design? TDD improves design by making the developer more aware of fundamental design principles. TDD does not force good design. TDD rewards for good design and punishes for bad design.

Through test-first development, design principles are moved from abstract, academic concepts to concrete needs.

Process/Mechanics

This will be a relatively code-heavy talk with plenty of examples in Java and C#.

  • 5 minutes to define TDD
  • 15 minutes to demonstrate the normal rhythm of TDD
  • 60 minutes to show bad code, how TDD finds the bad design, and how to refactor the code into a better design (5 principles x 12 minutes each = 60 minutes)

  • 10 minutes for questions and wrap up

Learning outcomes
  • The attendee will learn what the following design principle are, why they are important, and how TDD helps developers know when they have strayed from good design:
  • Single Responsibility Principle
  • Open / Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle
Featured participants
Primary target persona
Reviews

No reviews

Subscribe to an RSS feed of reviews of this proposal Syndicate content