Second in a series on practical software design.


Technical details are essential, but they're not the solution





Which is clearer?


Here's a simple user story for a lending library api:


As a library member, I want to borrow a book so that I can take it home.


And here are two code blocks that implement it. Take a few seconds to...