Search The Blog
My Books

New:

My Songs

 

The Art of Unit Testing

Buy PDF or Print book at Manning

Buy on Amazon

Latest Posts
from 5whys.com
Twitter: @RoyOsherove
About this site

TDD in .NET Online Course

TDD and BDD in Ruby Online Course

 

Subscribe!

This site aims to connect all the dots of my online activities - from tools, books blogs and twitter accounts, to upcoming conferences, engagements and user group talks.

« Beautiful Builds: Release Compilation Step | Main | Two workshops on Beautiful Builds, Refactoring and Design Skills »
Thursday
Apr112013

April 18: Refactoring and Design Skills for Test Driven Development Workshop

When? April 18-19

Where? Oslo

How much? 11,900 NOK

How to register? Send me an email.

The Problem

You have been trying to learn TDD, and it’s going pretty well, but your code looks horrible. Your design skills are lacking, and trying to let TDD drive the design without having design skills can lead to a very problematic, although testable, design of your code.

Objectives

I usually do not focus about design in my TDD courses. I believe that separating the learning about the core skills of Unit Testing, TDD, and Design should be separated so that the learner will not feel overwhelmed. This course is a complement to the Art of Unit Testing course I am teaching. This course is specifically dealing with design skills, and assumes that you already know how to write unit tests.

Assumed: You already have some experience writing unit tests.

  1. 1.      Clean Code and SOLID Design Principles
  2. 2.      Design for Testability
  3. 3.      Refactoring patterns on hard to test legacy code
  4. 4.      Writing tests against refactored code
  5. 5.      When it does and does not make sense to refactor
  6. 6.      We will also take a look at open source projects and try to see how we would refactor them.

Materials

All students get a PDF of all the slides in the course, in downloadable form.

Agenda - Day 1:(09:00-16:00)

  1.   From TDD Kata to Design Skills
  2.   Single Responsibility Functions
  3.   Single Responsibility Classes
  4.   SOLID Principles
  5.   Drills throughout the day     

Agenda - Day 2:(09:00-16:00)

  1.   Working with Legacy Code
  2.   Refactoring for Inversion of Control
  3.   Refactoring for Open Closed
  4.   Liskov Substitution Problems
  5.   Refactoring for Dependency Injection
  6.   Drills throughout the day

PrintView Printer Friendly Version

Web Analytics