It’s impressive how much information there is on software development on the internet. You don’t have to read books in order to develop applications. It’s amazing how knowledgeable people are able the many programming languages and technical matters and how experienced they are.
But there is one thing I don’t see much of and that is how to organize code and projects. And how to select the best third party libraries and solutions.
I have read many of the books and articles about the different ways you can solve problems. There are all the different design patterns and architecture patterns. Some of my favorites are
- Clean code
- Design Patterns – Elements of Reusable Object-Oriented Software.
- Refactoring To Patterns
- Patterns of Enterprise Application Architecture
- Patter-Oriented Software Architecture
And I have some favorite Architecture Books
- Software Architecture In Practice
- Just Enough Software Architecture
- Software Architecture For Developers
- Documenting Software Architectures
And I luckily I read Code Complete back when I started my development career.
But there’s not much available on how to structure your projects and your libraries. And what are the pros and cons of all the different ways that this has been done.
The most common structure I’ve experience is the multi-layer pattern. It seems to be the most suitable and encourages “Solid Code”.
Anyway, when I have some special insight, I’ll be sharing my thoughts as to what seem to be best practices to me in organizing and structuring code.