The Pragmatic Programmer: from journeyman to master

Posted on Tuesday, December 16, 2008 by Anuj Mehta

Wow what a book!! For those who are looking for enligthment here is the book. A must read book for all the programmers. This book discusses the practical aspects that need to be taken care, what to do and what not to do, and finally how to become Pragmatic Programmer. Here are some snippets from this book which I like

1. Broken Window Policy: Don’t leave “broken windows” (bad designs, wrong decisions or poor code). Fix them as soon as possible. If there are time constraints then “go on top of things” by adding suitable comments with the offending code or a reminder like //TODO

2. Invest in technology: Manage your knowledge portfolio intelligently
• Invest regularly
• Diversify As a baseline you need to know the inns and outs of the technology u are working in, but don’t stop there. Learn different technologies.
• Buy low, sell high Learn an emerging technology before it becomes popular.
• Review and rebalance your portfolio

3. DRY Principle: DRY (Don’t Repeat Yourself) every piece of knowledge must have a single, unambiguous, authentic representation with a system.

4. Orthogonality: Decoupling or independence of modules in a system.

5. Design by Contract: Developed by Bertrand Meyer. It focuses on documenting (and agreeing to) the rights and responsibilities of software modules to ensure program correctness.

6. Decoupling and Law of Demeter: The law of Demeter for functions attempts to minimize coupling between the modules in any given program. It tries to prevent you from reaching into an object to gain access to a third object’s methods. See the figure below for details