MVP for Gen Z Dev · draft 2 of 95, not in the published book · outline v1.0.0, 2018, frozen · 318 words · the 2018 file · read and review
TDD (Test-Driven Development)
In 2018 this was an outline: a title and "Topics to cover and ideas". It was never in the published book, and it is shown exactly as it was left. The second edition fills it from the articles the map names.
Topics to cover and ideas
- the most coverage you get, the more changes you are happy to make, the better the code is because you have the confidence to make the hundreds of small changes that the only way to create a high quality and scalable application
- be a craftsman
- explain history
- key challenges
- why the TDD community created dogma and lost the plot
- if you don't have 100% code coverage, what are those bits of code not covered by tests? (what happens if that code changes)
- everything should be tested
- history of a site that went down for hours because of a one char (pipe) change in a nginx config file
** bugs as features**
- replicate bugs first (before trying to fix them)
- link my slideshare presentation on this topic
BDD (Behaviour-Driven Development)
Topics to cover and ideas
- what is it
- great evolution
- where is works
- when it works well it is amazing
- great connection with business
-
can create bit white elaphants (like like Selenium)
- requires quite a lot of discipline and investment to keep up to date
-
explain Gherkin language
### FDD (Feedback-Driven Development)
Topics to cover and ideas
- real-time feedback in IDE (REPLs)
- this is key to learn
- run code as you lift your fingers or press save
- show screenshot of my typical dev environment
- wallabyjs
- great example of what this UI needs to be
- incredible how it has not be copied into all IDEs (as far as I can tell only NCrunch has the same features)
- all code changes (except refactoring) should require a test change
- see http://pitest.org/
- see chaos engineering
-
every developer does tests all time
- the question is how repeatable, scalable, mesuable those tests are
- and how much context switching occurs
-
the FDD applies to much more than just coding (see chapter on "Inventing on Principle") it is also related to how we learn
-
Power of Feedback loops
Answered since, on the newsroom: Code review as a fractal semantic graph, The code you do not ship. The map row.