Since 1999 this book has been a consistent bestseller among programmers. Although it is primarily intended to be read by programmers, what I found down the line was an invaluable set of insights for life alongside programming. Andrew and David illustrate the best practices and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction.
“Don’t leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, display a “Not Implemented” message, or substitute dummy data instead. Take some action to prevent further damage and to show that you’re on top of the situation.”
― Andrew Hunt
Clean code is packed with good advice, without much “filler”. This book will make you more aware of code quality, style and clean design. It introduces many areas to look out for when writing and commenting on code and also includes some helpful principles on clean classes and clean systems. Martin has also included examples from his projects and takes us through his attempt to iteratively refactor and clean the code.
“Perhaps you thought that “getting it working” was the first order of business for a professional developer. I hope by now, however, that this book has disabused you of that idea. The functionality that you create today has a good chance of changing in the next release, but the readability of your code will have a profound effect on all the changes that will ever be made.”
― Robert C. Martin
Head First Design Patterns should be a go-to book for the introduction to Design Patterns. Even if you’re acquainted with the topic, the examples, brief summaries and the tone of the book work well as a refresher. You would love the sense of humour of Freeman and the examples he included in this book a lot. It’s easy to read and would help newcomers to get started in Design Patterns. To summarise this book has a great attitude and is a lot of fun to read.
“No one ever talks about when to remove a pattern. You’d think it was blasphemy! Nah, we’re all adults here, we can take it. So when do you remove a pattern? When your system has become complex and the flexibility you planned for isn’t needed. In other words, when a simpler solution without the pattern would be better.”
― Eric Freeman
For those who already read these books, I hope you agree that they should be must-reads. Please share any suggestions you might have so that we can add them to our reading list!