Last month we broadcast our 2nd live podcast. We were fortunate to be joined by Corey Haines — to discuss simple design — and by Sandi Metz — who was kind enough to return for a second show.
There is an audio version of this podcast available here - but due to the nature of the live code examples on the video version that is probably the better experience.
Show Notes
- [0:02:20] — 4 rules of simple design
- Kent Beck
- “Design that is easier to change” - Corey
- Four elements of simple design — J. B. Rainsberger
- [0:6:11] — Understanding the 4 Rules of Simple Design
- Code Retreat
- Sandi doesn’t hate Corey…
- [0:10:17] Understanding Testing Book
- What can you learn from writing your own assert method?
- All testing frameworks bring baggage with them - leaving that aside allows you to understand the fundamentals
- Do you start with
assert
orassert_true
?
- [0:19:55] Writing your own assert method demo
- (apologies about the sound cutting in and out, Hangouts appears to mute typing)
- “Fundamentally testing is about checking that two things are the same” - Corey
- [0:30:02] Having rich ways of verifying your system can mask design feedback from simple tests
- TypeMock for mocking static methods in .NET masked the need to inject dependencies
- [0:36:00] Only having simple testing features can lead to writing a single method that does everything
- [0:38:10] The tension between learning and getting things out in production
- Being able to explain the value of the things that you use
- Doing something because smart people say you should do it, and understanding why they do it
- [0:45:21] What’s the best approach to teaching design sense to new programmers?
- Go back to the mechanical refactoring steps - back to the fundamentals
- “refactorings are little machines that produce objects” - Sandi
- SOLID principles are guide points
- [0:54:10] Actionable principles
- SOLID principles are hard to action, minute-by-minute
- Inner/outer design loops
- Refactoring to Patterns - Joshua Kerievsky
- [01:01:22] Efficient ways of travelling the long road
- Paying attention to what your doing
- Divergent/convergent thinking phases
- Sunk cost fallacy
- [01:04:07] Only ever one undo away from being back to green