Clean Code A Handbook of Agile Software Craftsmanship

Even bad code can function But if code isn t clean it can bring a development organization to its knees Every year countless hours and significant resources are lost because of poorly written code But it doesn t have to be that way Noted software expert Robert C Martin presents a revolutionary paradigm with Clean Code A Handbook of Agile Software Craftsmanship Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it What kind of work will you be doing? You ll be reading code lots of code And you will be challenged to think about what s right about that code and what s wrong with it More importantly you will be challenged to reassess your professional values and your commitment to your craft Clean Code is divided into three parts The first describes the principles patterns and practices of writing clean code The second part consists of several case studies of increasing complexity Each case study is an exercise in cleaning up code of transforming a code base that has some problems into one that is sound and efficient The third part is the payoff a single chapter containing a list of heuristics and smells gathered while creating the case studies The result is a knowledge base that describes the way we think when we write read and clean code Readers will come away from this book understandingHow to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names good functions good objects and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test driven development This book is a must for any developer software engineer project manager team lead or systems analyst with an interest in producing better code

10 thoughts on “Clean Code A Handbook of Agile Software Craftsmanship Robert C Martin Series

  1. says:

    These are rather notes than a review while reading1 Use very descriptive names Be consistent with your names2 A function should not do than one thing 3 SRP Single Responsibility Principle a class or module should have one and only one reason to change4 Stepdown rule every function should be followed by those at the next level of abstraction low intermediate advanced5 A long descriptive name is better than a short enigmatic name A long descriptive name is better than a long descriptive comment6 The ideal number of arguments for a function is zero niladic Next comes one monadic followed closely by two dyadic Three arguments triadic should be avoided where possible More than three polyadic requires very special justification and then shouldn't be used anyway7 Flag arguments are ugly Passing a boolean into a function is loudly proclaiming that this function does than one thing It does one thing if the flag is true and another one if the flag is false8 Write learning test when using third party cody to make sure it behaves the way you expect it to And if codebase changes in time at least you find out early enough