August 2018
Intermediate to advanced
332 pages
9h 12m
English
These details included keeping functions short, concerns separated, dependencies isolated, and assigning the right meaning to abstractions in every part of the code. Intention revealing was a critical concept for our code—every name has to be wisely chosen, clearly communicating what it's supposed to do. Every function should tell a story.
A good architecture should reveal the intent of the system it entails. It should not mention the tools it's built with; those are details, and as we discussed at length, details should be hidden, encapsulated.