This article outlines four different strategies for organizing code: by component, by toolbox, by layer, and by kind. I think these four form a kind of hierarchy with regards to which kind of cohesion they favor and in my experience they cover most of the real-world code I’ve worked with, pleasurable and not. There are an endless number of possible strategies but I’ve (thankfully) never encountere
![Four Strategies for Organizing Code](https://cdn-ak-scissors.b.st-hatena.com/image/square/ad5eaf48b76f8690fb354421bfc3c45b302e6294/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A457%2F1%2Agvk52t6ofC4pyLeHIWam5A.png)