Inspired from some talks and books, here is the framework I would define
Part I
- Write some tests of the part of the feature you want to make
- Make the tests fail (duh! there is no code to pass it)
- Write minimum code to pass the test cases
- Refactor
Part II
From OOA & D book
- Make the software/feature do what the customer wants it to do
- Apply OO principles to add flexibility
- Strive for a maintainable & flexible design
From Part I and Part II, the point 1 would correlate with Part I, points 1 & 2, Part II points 2,3 would correlate with Part I point 3, the refactor phase.
Top comments (1)
Well. I mean I can describe the basic principles Ferrari will lay out to build a new F1 car... Doesn't really get me any closer to building one though.