Clean Code

Book by Robert C. Martin

alt
Robert C. Martin Owner, Uncle Bob Consulting LLC

Renowned software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship.

Even bad code can work. But if the code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are wasted due to poorly written code. But it doesn't have to be.

Martin, who has helped bring agile principles from a practitioner's perspective to tens of thousands of programmers, partnered with his Object Mentor colleagues to distill their agile code cleanup best practices. fly ”in a book that will instill in you the values __of the software craftsman and make you a better programmer, but only if you work at it.

Clean Code PDF

What kind of work will you be doing? You'll read code, a lot of code. And you'll be challenged to think about what's right about this code and what's wrong. Most importantly, you will be challenged to re-evaluate your professional values __and your commitment to your craft.

The clean code is divided into three parts. The first describes the principles, patterns, and practices for writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up your code - turning a troubled codebase into one that is robust and efficient. The third part is the payoff: a single chapter that lists the heuristics and "fragrances" collected during the creation of the case studies. The result is a knowledge base that describes the way we think when we write, read and clean code.

Clean Code: A Handbook of Agile Software Craftsmanship

Much of the information in these books is eye-opening, especially the chapters on code functions, classes, and smells. However, the real problem is that this book is very, very Java focused, and clearly a product that dates back to 2009. Many chapters have been discussed (for example, PEP8 and Prettier make the formatting section largely obsolete), and a few are not entirely applicable to any other language.

This book is a must for any developer, software engineer, project manager, team leader, or systems analyst who is interested in creating better code.