- Create your FREE Amazon Business account to save up to 10% with Business-only prices and free shipping.
The Clean Coder: A Code of Conduct for Professional Programmers 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
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.
Frequently bought together
Special offers and product promotions
From the Publisher
|Best agile practices of cleaning code “on the fly” Software Craftsmanship||Endure and succeed amidst swirling uncertainty and nonstop pressure||Direct, no-nonsense answers to key architecture and design questions||There are no shortcuts for Agile’s true benefits: You need to do Agile right.||Deliver robust, effective code and to be proud of all the software you write|
|Title||Clean Code||Clean Coder||Clean Architecture||Clean Agile||Clean Craftsmanship|
|Core Concept||Presents a revolutionary paradigm that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.||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.||Uncle Bob presents the universal rules of software architecture that will help you dramatically improve developer productivity throughout the life of any software system.||Uncle Bob describes what Agile is in no uncertain terms, stripping away misunderstandings and distractions that have made it harder to use than was originally intended, and how Agile can help you bring true professionalism to software development.||Provides a pragmatic, technical, and prescriptive guide to the foundational disciplines of software craftsmanship and a discussion of the standard and ethics developers and programmers should be following.|
|Endoresement||"It is the best pragmatic application of Lean principles to software I have ever seen in print." —James O. Coplien, Founder of the Pasteur Organizational Patterns project||“Some technical books inspire and teach; some delight and amuse. Rarely does a technical book do all four of these things.”—George Bullock Senior Program Manager Microsoft Corp.||"A good architecture comes from understanding it more as a journey than as a destination, more as an ongoing process of enquiry than as a frozen artifact." -- Kevlin Henney||“What is in the world of Agile development is nothing compared to what could be. This book is Bob’s perspective on what to focus on to get to that ‘what could be.’ And he’s been there, so it’s worth listening.” –Kent Beck||". . . [A] timely and humble reminder of the ever-increasing complexity of our programmatic world and how we owe it to the legacy of humankind--and to ourselves--to practice ethical development.” -- Stacia Heimgartner Viscardi, CST & Agile Mentor|
Senior Software Developer
“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.”
Senior Program Manager
“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.”
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
From the Back Cover
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.
- Publisher : Pearson; 1st edition (May 13, 2011)
- Language : English
- Paperback : 256 pages
- ISBN-10 : 0137081073
- ISBN-13 : 978-0137081073
- Item Weight : 14.5 ounces
- Dimensions : 6.9 x 0.8 x 9 inches
- Best Sellers Rank: #50,567 in Books (See Top 100 in Books)
- Customer Reviews:
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I decided to read it anyway, since it was by the same author.
Terrible advice. I stopped reading at the part when he suggests a 60 hour work week. Even if the extra 20 are "professional development" hours, this is awful, unsafe advice that is more a recipe for burnout and stress-related illnesss than it is a powerful career as a professional.
A real professional sees their fiduciary responsibility to both the customers and their employeer to deliver a _sustainable_ flow of _quality_ work every week.
He goes on to rationalize this point of view by opining that a professional doesn't expect any help (in terms of financial assistance or work hours) from their employer for professional development - and if they do get it they should be so groveling at their employeers feet in thanks.
Again, no. A true professional knows that a company that leans on its knowledge workers desperately needs those workers to stay current and will work to change the culture at their workplace if the organization is not providing time for professional development in a way that satisfies and also-necessary sustainable pace!
With advice this bad in the first chapter, I couldn't afford the time to finish it. In my opinion "Rework" by Jason Fried and David Heinemeier Hanssonmuch is a much better, more-modern book on the subject.
He preaches the gospel of test driven development, but brushes off prohibitively long compile times as being the programmer's fault, admits that 10% of his own codebase isn't covered by his tests (though he tries to shift blame to someone else and believes the percentage, although not 100%, is better than 90. Take responsibility, dude), and often says "there are exceptions" without pointing out what the exceptions would be. Those are more important than spending 30 pages repeating yourself on the rules. Why is ~10% of that codebase not tested? What's an example of a "dogma getting in the way of productivity" the discerns the difference for someone that thinks coding a test for every trivial piece of code is, in fact, getting in the way?
On making commitments he has some good advice about saying no and giving realistic estimates on the time it will take to complete things. The author does not, however, give real advice on how to deal with a boss that will not accept "no" or a timeline that does not meet their expectations. How does the professional programmer deal with "you'll do this by tomorrow or you're fired" when she knows it will take 4 days? How does the professional programmer deal with a negative performance evaluation that says he is not productive enough, even though he met all the commitments he made, but not on a timetable the manager wanted to see?
There are no answers in this book, just preaching. And not good preaching, it's the kind where the preacher gives a firey sermon about adultery when you know he's sleeping with the choir director's wife. I was hoping for a software engineer's guide to soft skills in the workplace and how to approach team interactions more effectively. Instead I found out i'm not going to be a professional. But that's okay, neither is Bob.
There are many other books that teach you how to write good code - that is not the purpose of this book. Rather, Uncle Bob strives to show you how to be a good professional, and all that entails. If the concept makes you want to sneer, don't - there are lots of behaviors that we'd normally do which are not professional and hurt both your company as yourself. Have you ever said "yes" when pressed to commit to an unreasonable deadline? Pushed half-done work through? Given overly optimistic estimations that people thought of as deadlines? Felt forced to wade through a mess of (partly) your own making? Well, even if you haven't, odds are that you will at some time, as (sadly) every developer finds themselves at such situations at some point during this career. What this book aims to do is to help you identify these situations, explain why these are harmful and provide you with the tools to better respond to these. Oh, and of course, expect the usual useful insight on how to improve your programming practices.
While Clean Code was a bit hard to read sometimes and made you stop every now and then, if only to get a better grasp of the concepts, this one feels so relatable that it reads in a breeze. What more can you ask for?
Our craft would be a lot better if every programmer was given a copy of this before they started working. Or at the very least, I am certain that this book has helped me become a better professional and I expect its teachings will continue to do so.
Top reviews from other countries
I was gladly that a lot of the points in this book are the same that I abide on my day to day work, but I've learned the hard way!
This book will be a reference book that I will be sharing with my teams and colleagues without reservations!
Clear and precise with a very down to earth impression. Hopefully this helps me with my degree
This book - is no different. Equally funny as thoughtful; the style is anecdotal but challenging. Given the few chances you get to receive such wisdom and depth from a true master, this is a must for anyone aspiring to become a true craftsman. I learnt a lot from this book - not only that you must not forget how others perceive you as a professional, but also that a true professional knows when to say no. This is one of the subjects I would say the book has a leaning emphasis on; how a professional ought to behave and act in hard times.
No chapter is boring as it is opened with a good story from the life of Robert C. Martin himself, as well as disclosing his past weaknesses for everyone to see - and rightfully so. We must never forget that the journey starts with a step, and lasts until the end of our life.
If you want a book filled to the brim with Wisdom and Laughs. This is the one.