'''What do we mean - Clean Code ?''' Writing clean code is what you must do in order to call yourself a professional. There is no reasonable excuse for doing anything less than your best. * ''Neither architecture nor clean code insist on perfection, only on honesty and doing the best we can. To err is human; to forgive, divine.'' * '' ... code is never perfect ... Neither architecture nor clean code insist on perfection, only on honesty and doing the best we can. To err is human; to forgive, divine.'' * '' In our profession, we desperately need all the help we can get. If a clean shop floor reduces accidents, and well-organized shop tools increase productivity, then I’m all for them. '' * '' Learning to write clean code is hard work. It requires more than just the knowledge of principles and patterns. You must sweat over it. You must practice it yourself, and watch yourself fail. You must watch others practice it and fail. You must see them stumble and retrace their steps. You must see them agonize over decisions and see the price they pay for making those decisions the wrong way.'' ---- '''Book by RobertMartin (UncleBob)''' Published by PrenticeHall in August 2008. CleanCode contains lots of code and describes one take on how to develop high-quality systems. Several chapters were contributed by ObjectMentor's, both past and present. * [ISBN: 0132350882] * [Download PDF: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCsQFjAA&url=http://www.e-reading.ws/bookreader.php/134601/Martin_-_Clean_Code_-_A_Handbook_of_Agile_Software_Craftsmanship.pdf ] 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 understanding ** How 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 * Recommendation: ** This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code. ---- CategoryBook