Driving the Implementation with Tests (Clean Code Series II)

Registrations are closed
You want to become a more productive software developer? Then systematic and visual problem solving is what you should focus on first. Effective and clean code starts long before you write the first line of code: it starts in your head.        
                                         
                                                             Trainer:Ralf Westphal 

Clean code means testable code. To make code testable it's helpful to, well, start coding with tests. That's what TDD always was about.

Unfortunately, TDD is hard to get right. Maybe all that's important has already been said by Kent Beck in "TDD by Example" - but what does it really mean? TDD as traditionally taught seems to be simple, but in the end it's not.

This workshop thus takes a different approach to test-driven coding. It builds on the traditional red-green-refactor cycle but offers different ways to deal with different situations. Two more gears are added to the only one of original TDD. Attendees learn to shift through those gears depending on how well they are progressing.

What differentiates the gears is what's done in the green phase of TDD:

" 1st gear: Decompose the production code into smaller problems before writing any logic - or "Informed TDD" by Ralf Westphal

" 2nd gear: Inline production code with tests - or "TDD as if you meant it" by Keith Braithwaite

" 3rd gear: Implement production code in a KISS way - or original TDD by Kent Beck

Which TDD gear to drive coding in is a matter of clarity: How well is the problem understood? How well has a solution been modeled? How deep is the experience with required technologies?

Lower gears are for more difficult situations. The workshop thus adds two gears below the original TDD mode. This is done based on the insight, that coding production logic often is started too early and the refactoring step is skipped all too often. With the 1st and 2nd gear refactoring becomes less of a burden or unavoidable and easy.

And on top of that: Attendees will learn to not paint themselves into a corner with tests. Tests must not become a girdle and later strangle refactoring efforts. There will be a clear distinction between maturity tests ("Is the code already correct?") and regression tests ("Is the code still correct?").

 Automated tests are too important to be a burden. It's the mission of the workshop to make testing a worthwhile and pleasurable activity for every developer.

Date & Time
Monday
March 4, 2019
Start - 9:00 AM
Tuesday
March 5, 2019
End - 5:00 PM Europe/Tallinn
Location

DevTraining

DevTraining
Riga
Latvia
+372 56476512
pille@devtraining.ee
Trainer

Ralf Westphal

--Ralf Westphal--
SHARE

Find out what people see and say about this event, and join the conversation.