Clean Coder, The: A Code of Conduct for Professional Programmers (Robert C. Martin Series)
Rate it:
Open Preview
4%
Flag icon
That was a very sad day for me.
5%
Flag icon
“Yes, but these are professionals.”
5%
Flag icon
the technical staff were professionals, in the best sense of the word.
6%
Flag icon
the technical team actually self-organizes and makes real commitments.
6%
Flag icon
he doesn’t get the feeling that the project is in priority somewhere between lunch and checking email.
7%
Flag icon
They usurped the authority of the people who actually knew: the engineers.
7%
Flag icon
wishing they’d called Dan Rather.
9%
Flag icon
No one in your life will teach you more than your children will. Thanks, kids!
9%
Flag icon
he served as the first chairman of the Agile Alliance.
10%
Flag icon
Professionalism is something that our profession is in dire need of.
11%
Flag icon
College was not an option for me, nor did it hold any particular enticements.
12%
Flag icon
She told me that you never quit without having a new job, and you always quit calmly, coolly, and alone.
12%
Flag icon
It’s a lot easier to be a nonprofessional.
12%
Flag icon
But when a professional makes a mistake, he cleans up the mess.
13%
Flag icon
Because, you see, professionalism is all about taking responsibility.
14%
Flag icon
The reason I neglected the test was so I could say I had shipped on time. It was about me saving face. I had not been concerned about the customer, nor about my employer. I had only been concerned about my own reputation.
14%
Flag icon
That would have been hard, and Tom would have been upset. But no customers would have lost data, and no service managers would have called.
14%
Flag icon
Therefore, in order to be professional, we must not create bugs.
14%
Flag icon
“Are you telling us we must be perfect?” Do I hear you object? No, I’m telling you that you must be responsible for your imperfections.
Kenneth LeFebvre
This sounds just like the ubiquitous objection by Christians to obeying the Torah.
14%
Flag icon
Apologies are necessary, but insufficient.
14%
Flag icon
It is unprofessional in the extreme to purposely send code that you know to be faulty to QA. And what code do you know to be faulty?
14%
Flag icon
Any code you aren’t certain about!
14%
Flag icon
Releasing code to QA that you don’t know works is unprofessional.
15%
Flag icon
Am I suggesting 100% test coverage? No, I’m not suggesting it. I’m demanding it. Every single line of code that you write should be tested. Period.
15%
Flag icon
But isn’t some code hard to test? Yes, but only because that code has been designed to be hard to test. The solution to that is to design your code to be easy to test.
15%
Flag icon
If you compromise the structure, you compromise the future.
15%
Flag icon
If you want your software to be flexible, you have to flex it!
16%
Flag icon
Every time you look at a module you make small,
16%
Flag icon
lightweight changes to it to improve its structure. Every time you read through the code you adjust the structure.
16%
Flag icon
Always check in a module cleaner than when you checked it out.
16%
Flag icon
They think that making a continuous series of changes to working software is dangerous. No! What is dangerous is allowing the software to remain static.
16%
Flag icon
Why do most developers fear to make continuous changes to their code? They are afraid they’ll break it! Why are they afraid they’ll break it? Because they don’t have tests.
16%
Flag icon
If you have an automated suite of tests that covers virtually 100% of the code, and if that suite of tests can be executed quickly on a whim, then you simply will not be afraid to change the code.
16%
Flag icon
In short, they treat software the way a sculptor treats clay—they continuously shape and mold it.
16%
Flag icon
Woe to the software developer who entrusts his career to his employer.
16%
Flag icon
You should plan on working 60 hours per week. The first 40 are for your employer. The remaining 20 are for you.
16%
Flag icon
Professionals spend time caring for their profession.
16%
Flag icon
You should not be working for your employer during those 20 hours.
17%
Flag icon
Those 20 hours should be fun!
17%
Flag icon
A wealth of ideas, disciplines, techniques, tools, and terminologies decorate the last fifty years of our field.
17%
Flag icon
Very few ideas of the past 50 years have become irrelevant.
17%
Flag icon
Woe to the architects who stop coding—they will rapidly find themselves irrelevant.
18%
Flag icon
It is not enough to simply do your daily job and call that practice.
18%
Flag icon
Practice is when you specifically exercise your skills outside of the performance of your job for the sole purpose of refining and enhancing those skills.
18%
Flag icon
A kata usually comes in the form of a simple programming problem to solve, such as writing the function that calculates the prime factors of an integer. The point of doing the kata is not to figure out how to solve the problem; you know how to do that already. The point of the kata is to train your fingers and your brain.
18%
Flag icon
Think of the kata as a 10-minute warm-up exercise in the morning and a 10-minute cool-down in the evening.
18%
Flag icon
It is the responsibility of every software professional to understand the domain of the solutions they are programming.
18%
Flag icon
It is the worst kind of unprofessional behavior to simply code from a spec without understanding why that spec makes sense to the business.
19%
Flag icon
And so, programming is an act of supreme arrogance.
19%
Flag icon
So we went live on the date. And it was a blazing disaster.
« Prev 1 3