DEV Community

Discussion on: What are the least intuitive fundamentals and best practices in software development?

Collapse
 
cjbrooks12 profile image
Casey Brooks

I actually find it's best to use a combination of these. Start by grouping by domain (which may be nested), and then within your domain folders have an opinionated directory structure organized by architecture component. So, for any given domain, the code is organized the same internally, but it's nicely separated from other domains and easy to navigate to.

Bonus points if you use some kind of multiproject structure where each domain's isolation is actually enforced by compilation boundaries, but able to communicate through a shared module's interfaces.

Collapse
 
_bigblind profile image
Frederik 👨‍💻➡️🌐 Creemers

Completely agree.