
7%
off
off
Clean Coder, The : A Code of Conduct for Professional Programmers
Free delivery worldwide
Available. Expected delivery to the United States in 8-11 business days.
Not ordering to the United States? Click here.
Description
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
What it means to behave as a true software craftsman
How to deal with conflict, tight schedules, and unreasonable managers
How to get into the flow of coding, and get past writer's block
How to handle unrelenting pressure and avoid burnout
How to combine enduring attitudes with new development paradigms
How to manage your time, and avoid blind alleys, marshes, bogs, and swamps
How to foster environments where programmers and teams can thrive
When to say "No"-and how to say it
When to say "Yes"-and what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them-and earn the pride and fulfillment that they alone possess.
show more
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
What it means to behave as a true software craftsman
How to deal with conflict, tight schedules, and unreasonable managers
How to get into the flow of coding, and get past writer's block
How to handle unrelenting pressure and avoid burnout
How to combine enduring attitudes with new development paradigms
How to manage your time, and avoid blind alleys, marshes, bogs, and swamps
How to foster environments where programmers and teams can thrive
When to say "No"-and how to say it
When to say "Yes"-and what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them-and earn the pride and fulfillment that they alone possess.
show more
Pearson Programming and Web Development
Product details
- Paperback | 256 pages
- 180 x 230 x 15mm | 410g
- 03 Jun 2011
- Pearson Education (US)
- Pearson
- Upper Saddle River, NJ, United States
- English
- 0137081073
- 9780137081073
- 15,259
Back cover copy
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 codeHow to write good code and how to transform bad code into good codeHow to create good names, good functions, good objects, and good classesHow to format code for maximum readabilityHow to implement complete error handling without obscuring code logicHow to unit test and practice test-driven developmentThis book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
show more
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 codeHow to write good code and how to transform bad code into good codeHow to create good names, good functions, good objects, and good classesHow to format code for maximum readabilityHow to implement complete error handling without obscuring code logicHow to unit test and practice test-driven developmentThis book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
show more
Table of contents
Foreword xiii Preface xix
Acknowledgments xxiii
About the Author xxix
On the Cover xxxi
Pre-Requisite Introduction 1
Chapter 1: Professionalism 7
Be Careful What You Ask For 8
Taking Responsibility 8
First, Do No Harm 11
Work Ethic 16
Bibliography 22
Chapter 2: Saying No 23
Adversarial Roles 26
High Stakes 29
Being a "Team Player" 30
The Cost of Saying Yes 36
Code Impossible 41
Chapter 3: Saying Yes 45
A Language of Commitment 47
Learning How to Say "Yes" 52
Conclusion 56
Chapter 4: Coding 57
Preparedness 58
The Flow Zone 62
Writer's Block 64
Debugging 66
Pacing Yourself 69
Being Late 71
Help 73
Bibliography 76
Chapter 5: Test Driven Development 77
The Jury Is In 79
The Three Laws of TDD 79
What TDD Is Not 83
Bibliography 84
Chapter 6: Practicing 85
Some Background on Practicing 86
The Coding Dojo 89
Broadening Your Experience 93
Conclusion 94
Bibliography 94
Chapter 7: Acceptance Testing 95
Communicating Requirements 95
Acceptance Tests 100
Conclusion 111
Chapter 8: Testing Strategies 113
QA Should Find Nothing 114
The Test Automation Pyramid 115
Conclusion 119
Bibliography 119
Chapter 9: Time Management 121
Meetings 122
Focus-Manna 127
Time Boxing and Tomatoes 130
Avoidance 131
Blind Alleys 131
Marshes, Bogs, Swamps, and Other Messes 132
Conclusion 133
Chapter 10: Estimation 135
What Is an Estimate? 138
PERT 141
Estimating Tasks 144
The Law of Large Numbers 147
Conclusion 147
Bibliography 148
Chapter 11: Pressure 149
Avoiding Pressure 151
Handling Pressure 153
Conclusion 155
Chapter 12: Collaboration 157
Programmers versus People 159
Cerebellums 164
Conclusion 166
Chapter 13: Teams and Projects 167
Does It Blend? 168
Conclusion 171
Bibliography 171
Chapter 14: Mentoring, Apprenticeship, and Craftsmanship 173
Degrees of Failure 174
Mentoring 174
Apprenticeship 180
Craftsmanship 184
Conclusion 185
Appendix A: Tooling 187
Tools 189
Source Code Control 189
IDE/Editor 194
Issue Tracking 196
Continuous Build 197
Unit Testing Tools 198
Component Testing Tools 199
Integration Testing Tools 200
UML/MDA 201
Conclusion 204
Index 205
show more
Acknowledgments xxiii
About the Author xxix
On the Cover xxxi
Pre-Requisite Introduction 1
Chapter 1: Professionalism 7
Be Careful What You Ask For 8
Taking Responsibility 8
First, Do No Harm 11
Work Ethic 16
Bibliography 22
Chapter 2: Saying No 23
Adversarial Roles 26
High Stakes 29
Being a "Team Player" 30
The Cost of Saying Yes 36
Code Impossible 41
Chapter 3: Saying Yes 45
A Language of Commitment 47
Learning How to Say "Yes" 52
Conclusion 56
Chapter 4: Coding 57
Preparedness 58
The Flow Zone 62
Writer's Block 64
Debugging 66
Pacing Yourself 69
Being Late 71
Help 73
Bibliography 76
Chapter 5: Test Driven Development 77
The Jury Is In 79
The Three Laws of TDD 79
What TDD Is Not 83
Bibliography 84
Chapter 6: Practicing 85
Some Background on Practicing 86
The Coding Dojo 89
Broadening Your Experience 93
Conclusion 94
Bibliography 94
Chapter 7: Acceptance Testing 95
Communicating Requirements 95
Acceptance Tests 100
Conclusion 111
Chapter 8: Testing Strategies 113
QA Should Find Nothing 114
The Test Automation Pyramid 115
Conclusion 119
Bibliography 119
Chapter 9: Time Management 121
Meetings 122
Focus-Manna 127
Time Boxing and Tomatoes 130
Avoidance 131
Blind Alleys 131
Marshes, Bogs, Swamps, and Other Messes 132
Conclusion 133
Chapter 10: Estimation 135
What Is an Estimate? 138
PERT 141
Estimating Tasks 144
The Law of Large Numbers 147
Conclusion 147
Bibliography 148
Chapter 11: Pressure 149
Avoiding Pressure 151
Handling Pressure 153
Conclusion 155
Chapter 12: Collaboration 157
Programmers versus People 159
Cerebellums 164
Conclusion 166
Chapter 13: Teams and Projects 167
Does It Blend? 168
Conclusion 171
Bibliography 171
Chapter 14: Mentoring, Apprenticeship, and Craftsmanship 173
Degrees of Failure 174
Mentoring 174
Apprenticeship 180
Craftsmanship 184
Conclusion 185
Appendix A: Tooling 187
Tools 189
Source Code Control 189
IDE/Editor 194
Issue Tracking 196
Continuous Build 197
Unit Testing Tools 198
Component Testing Tools 199
Integration Testing Tools 200
UML/MDA 201
Conclusion 204
Index 205
show more
Review Text
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical adviceÂabout everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writerÂs block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say ÂNoÂÂand how to say it When to say ÂYesÂÂand what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isnÂt written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of themÂand earn the pride and fulfillment that they alone possess.
show more
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical adviceÂabout everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writerÂs block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say ÂNoÂÂand how to say it When to say ÂYesÂÂand what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isnÂt written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of themÂand earn the pride and fulfillment that they alone possess.
show more
Review quote
"'Uncle Bob' Martin definitely raises the bar with his latest book. He explains his expectation for a professional programmer on management interactions, time management, pressure, on collaboration, and on the choice of tools to use. Beyond TDD and ATDD, Martin explains what every programmer who considers him- or herself a professional not only needs to know, but also needs to follow in order to make the young profession of software development grow." -Markus Gartner
Senior Software Developer
it-agile GmbH
www.it-agile.de
www.shino.de
"Some technical books inspire and teach; some delight and amuse. Rarely does a technical book do all four of these things. Robert Martin's always have for me and The Clean Coder is no exception. Read, learn, and live the lessons in this book and you can accurately call yourself a software professional."
-George Bullock
Senior Program Manager
Microsoft Corp.
"If a computer science degree had 'required reading for after you graduate,' this would be it. In the real world, your bad code doesn't vanish when the semester's over, you don't get an A for marathon coding the night before an assignment's due, and, worst of all, you have to deal with people. So, coding gurus are not necessarily professionals. The Clean Coder describes the journey to professionalism . . . and it does a remarkably entertaining job of it."
-Jeff Overbey
University of Illinois at Urbana-Champaign
"The Clean Coder is much more than a set of rules or guidelines. It contains hard-earned wisdom and knowledge that is normally obtained through many years of trial and error or by working as an apprentice to a master craftsman. If you call yourself a software professional, you need this book."
-R. L. Bogetti
Lead System Designer
Baxter Healthcare
www.RLBogetti.com
show more
Senior Software Developer
it-agile GmbH
www.it-agile.de
www.shino.de
"Some technical books inspire and teach; some delight and amuse. Rarely does a technical book do all four of these things. Robert Martin's always have for me and The Clean Coder is no exception. Read, learn, and live the lessons in this book and you can accurately call yourself a software professional."
-George Bullock
Senior Program Manager
Microsoft Corp.
"If a computer science degree had 'required reading for after you graduate,' this would be it. In the real world, your bad code doesn't vanish when the semester's over, you don't get an A for marathon coding the night before an assignment's due, and, worst of all, you have to deal with people. So, coding gurus are not necessarily professionals. The Clean Coder describes the journey to professionalism . . . and it does a remarkably entertaining job of it."
-Jeff Overbey
University of Illinois at Urbana-Champaign
"The Clean Coder is much more than a set of rules or guidelines. It contains hard-earned wisdom and knowledge that is normally obtained through many years of trial and error or by working as an apprentice to a master craftsman. If you call yourself a software professional, you need this book."
-R. L. Bogetti
Lead System Designer
Baxter Healthcare
www.RLBogetti.com
show more
About Robert Martin
Robert C. Martin ("Uncle Bob") has been a programmer since 1970. He is founder and president of Object Mentor, Inc., an international firm of highly experienced software developers and managers who specialize in helping companies get their projects done. Object Mentor offers process improvement consulting, object-oriented software design consulting, training, and skill development services to major corporations worldwide. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows.
He has authored and edited many books, including:
Designing Object Oriented C++ Applications Using the Booch Method
Patterns Languages of Program Design 3
More C++ Gems
Extreme Programming in Practice
Agile Software Development: Principles, Patterns, and Practices
UML for Java Programmers
Clean Code
A leader in the industry of software development, Martin served for three years as editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.
Robert is also the founder of Uncle Bob Consulting, LLC, and cofounder with his son Micah Martin of The Clean Coders LLC.
show more
He has authored and edited many books, including:
Designing Object Oriented C++ Applications Using the Booch Method
Patterns Languages of Program Design 3
More C++ Gems
Extreme Programming in Practice
Agile Software Development: Principles, Patterns, and Practices
UML for Java Programmers
Clean Code
A leader in the industry of software development, Martin served for three years as editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.
Robert is also the founder of Uncle Bob Consulting, LLC, and cofounder with his son Micah Martin of The Clean Coders LLC.
show more