Discussion about this post

User's avatar
J. B. Rainsberger's avatar

Making chunks is abstraction; abstraction is design. We are back in the 1950s. This is exactly how I sell "abstraction" to jaded intermediate programmers. "Remaining distracted by considering all the details all the time actively frustrates your progress. It's what makes you want to throw it all away and start again."

Expand full comment
Gabriele Tondi's avatar

Hi Kent, things that pop in my mind:

- we need to chunk and slice because our mind is capable of keeping only 5 ± 2 "things" in memory

- because usually our application comprehend more that 5 ± 2 lines of code, or things, we need to group them so that we can substitute in our mind a group of lines of code with a single method name

- in order for those abstraction to completely substitute the "inner parts" in our mind the abstractions need to be well sealed and makes sense to us

- leaking abstraction create problems because we cannot really substitute the inner parts with the abstraction in our mind, because we also need to keep in mind some details that leaked off from the abstraction (like remembering that we are doing something on the db or over the network).

Chunking to me resonate like bounded context or domain partitioning, slicing more about layers in layered architecture. Is that what you mean?

Thanks for sharing!

Expand full comment
4 more comments...

No posts