Product Information
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 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 This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.Product Identifiers
PublisherPearson Education, Prentice Hall PTR
ISBN-100132350882
ISBN-139780132350884
eBay Product ID (ePID)66166081
Product Key Features
Number of Pages464 Pages
Publication NameClean Code : a Handbook of Agile Software Craftsmanship
LanguageEnglish
SubjectSoftware Development & Engineering / Quality Assurance & Testing, Software Development & Engineering / General, Information Theory
Publication Year2008
TypeTextbook
Subject AreaComputers
AuthorRobert Martin
SeriesRobert C. Martin Ser.
FormatTrade Paperback
Dimensions
Item Height1.1 in
Item Weight24.8 Oz
Item Length9.2 in
Item Width7 in
Additional Product Features
Intended AudienceScholarly & Professional
LCCNQa76.76.D47m3652, 2008-024750
Dewey Edition22
IllustratedYes
Dewey Decimal005.1
Table of ContentForeword xix Introduction xxv On the Cover xxix Chapter 1: Clean Code 1 There Will Be Code 2 Bad Code 3 The Total Cost of Owning a Mess 4 Schools of Thought 12 We Are Authors 13 The Boy Scout Rule 14 Prequel and Principles 15 Conclusion 15 Bibliography 15 Chapter 2: Meaningful Names 17 Introduction 17 Use Intention-Revealing Names 18 Avoid Disinformation 19 Make Meaningful Distinctions 20 Use Pronounceable Names 21 Use Searchable Names 22 Avoid Encodings 23 Avoid Mental Mapping 25 Class Names 25 Method Names 25 Don''t Be Cute 26 Pick One Word per Concept 26 Don''t Pun 26 Use Solution Domain Names 27 Use Problem Domain Names 27 Add Meaningful Context 27 Don''t Add Gratuitous Context 29 Final Words 30 Chapter 3: Functions 31 Small! 34 Do One Thing 35 One Level of Abstraction per Function 36 Switch Statements 37 Use Descriptive Names 39 Function Arguments 40 Have No Side Effects 44 Command Query Separation 45 Prefer Exceptions to Returning Error Codes 46 Don''t Repeat Yourself 48 Structured Programming 48 How Do You Write Functions Like This? 49 Conclusion 49 SetupTeardownIncluder 50 Bibliography 52 Chapter 4: Comments 53 Comments Do Not Make Up for Bad Code 55 Explain Yourself in Code 55 Good Comments 55 Bad Comments 59 Bibliography 74 Chapter 5: Formatting 75 The Purpose of Formatting 76 Vertical Formatting 76 Horizontal Formatting 85 Team Rules 90 Uncle Bob''s Formatting Rules &n