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. Clean Code and SOLID Design Principles
- 2. Design for Testability
- 3. Refactoring patterns on hard to test legacy code
- 4. Writing tests against refactored code
- 5. When it does and does not make sense to refactor
- 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)
- From TDD Kata to Design Skills
- Single Responsibility Functions
- Single Responsibility Classes
- SOLID Principles
- Drills throughout the day
Agenda - Day 2:(09:00-16:00)
- Working with Legacy Code
- Refactoring for Inversion of Control
- Refactoring for Open Closed
- Liskov Substitution Problems
- Refactoring for Dependency Injection
- Drills throughout the day