An epic book on software craftsmanship. The book not only tells you how to write good code, but also an effective way to
develop and approach software development. It is sure to change your outlook on work.
Number of Pages: 462
Note that all examples in this book are in Java, although the learnings can be applied to any programming language.
Ideas Presented:
- How to properly name a variable?
- How to write a better method?
- How to structure your code better?
- What is the code smell?
- Why another approach is better than this one?
A mammoth piece of work, a must read for anyone who wants to read all about programming constructs and best practices.
Truly an encyclopaedic book - 960 pages in its most recent revision! Don't let the length of the book deter you, you can
consume it at your own pace. In the end, you will be thankful you read the book.
Every aspect of software development is explained in the book. Practical advice on everything ranging from code structure,
code formatting, variable. method and class naming, all the way up to managing a team.
Only a small percentage of software developers would have read this book, so you surely have an advantage if you read this
one. You can gain many a years worth of experience just by reading this book.
Ideas Represented:
- Software craftsmanship, e.g, layout, style, character, themes and self-documentation
- Coding, debugging, integration and testing for software development,
- Other important software development aspects such as requirements and documentation,
- The techniques of creating a high-quality code, code improvements and system considerations.
A gem of a book! This is not your regular programming book with code, code and more code. In fact this is not about any
particular programming language at all: the wisdom in this book applies to all programming languages.
Not only will this book change your coding habits, it will also change your personality as a programmer. It is filled
with practical advice on getting the best of both you and your code.
Ideas presented:
- Useful recommendations for estimates of time and expense
- Introduces you to methods of work that you may not yet have considered.
The second book from Rob Martin in this list. We recommend that you read this book after "Clean Code". Whilst "Clean Code"
is about the code, this is about the "Coder".
The book explores topics that programmers often ignore
- What does being professional programmer mean?
- How to carry yourself as a true software craftsman
- Dealing with conflict and tight schedules
- How to manage your time? How can you expand your skills?
- When to say “No”
- Avoiding burnout
- ..and more.
You may not always agree with the author but it provides good food for thought. It might be not what you expect, but may just be what you need.
No matter how hard you try, the code you deliver will not be the most optimal unless improvements are made to it.
Refactoring is to be made even if it working as expected.
This book is written by y Martin Fowler is an essential book for software developers which offers start-to-finish
strategies for working more effectively with large software and improving the design of existing code.
The book then takes you through a tour of how make the improvements happen.
- What are the indicator of bad smells in the code?
- How to structure classes, methods and other logical pieces?
- Unit tests for your code
- How to move features from one object to another?
- Refactoring tools
- ..and more
A must read book on anyone on how to improve your existing code. Note that all code examples are in Java, but it shouldn't prevent you from grabbing a copy today!
This book is slightly different from the other classics books on the list but this book is one of the most influential
books to helps a person think like a programmer. Every concept is properly covered with practical problems and various
effective and efficient solutions. This is pleasant to read because the writing style is simply great.
This book is the best place to practice problems of data structure and algorithms especially searching, sorting, heaps
etc. It Is really a masterpiece created by Jon Bentley fully justifying the name “Programming Pearls”.