Quotes from Robert C. Martin
The proper use of comments is to compensate for our failure to express ourself in code. Note that I used the word failure. I meant it. Comments are always failures.
~ Robert C. Martin
BazillionQuotes.com
When you see commented-out code, delete it!
~ Robert C. Martin
BazillionQuotes.com
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.
~ Robert C. Martin
BazillionQuotes.com
Dijkstra once said, "Testing shows the presence, not the absence, of bugs." In other words, a program can be proven incorrect by a test, but it cannot be proven correct. All that tests can do, after sufficient testing effort, is allow us to deem a program to be correct enough for our purposes.
~ Robert C. Martin
BazillionQuotes.com
Honesty in small things is not a small thing.
~ Robert C. Martin
BazillionQuotes.com
You see, programmers tend to be arrogant, self-absorbed introverts. We didn't get into this business because we like people.
~ Robert C. Martin
BazillionQuotes.com
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that.
~ Robert C. Martin
BazillionQuotes.com
Abstraction is the elimination of the irrelevant and the amplification of the essential.
~ Robert C. Martin
BazillionQuotes.com
SRP is one of the more important concept in OO design. It's also one of the simpler concepts to understand and adhere to. Yet oddly, SRP is often the most abused class design principle.
~ Robert C. Martin
BazillionQuotes.com
Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer's intent but rather is full of crisp abstractions and straightforward lines of control. - Grady Booch author of Object Oriented Analysis and Design with Applications
~ Robert C. Martin
BazillionQuotes.com
If a change to the requirements breaks your architecture, then your architecture sucks.
~ Robert C. Martin
BazillionQuotes.com
All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables.
~ Robert C. Martin
BazillionQuotes.com
What if your company has made a commitment to a certain database, or a certain web server, or a certain framework? A good architect pretends that the decision has not been made, and shapes the system such that those decisions can still be deferred or changed for as long as possible. A good architect maximizes the number of decisions not made.
~ Robert C. Martin
BazillionQuotes.com
Whatever else a TODO might be, it is not an excuse to leave bad code in the system.
~ Robert C. Martin
BazillionQuotes.com
The fundamental assumption underlying all software projects is that software is easy to change. If you violate this assumption by creating inflexible structures, then you undercut the economic model that the entire industry is based on. In
~ Robert C. Martin
BazillionQuotes.com
Duplication is the primary enemy of a well-designed system. It represents additional work, additional risk, and additional unnecessary complexity.
~ Robert C. Martin
BazillionQuotes.com
First Law You may not write production code until you have written a failing unit test. Second Law You may not write more of a unit test than is sufficient to fail, and not compiling is failing. Third Law You may not write more production code than is sufficient to pass the currently failing test.
~ Robert C. Martin
BazillionQuotes.com
You see, programmers tend to be arrogant, self-absorbed introverts. We didn't get into this business because we like people. Most of us got into programming because we prefer to deeply focus on sterile minutia, juggle lots of concepts simultaneously, and in general prove to ourselves that we have brains the size of a planet, all while not having to interact with the messy complexities of other people.
~ Robert C. Martin
BazillionQuotes.com
If you are tired or distracted, do not code.
~ Robert C. Martin
BazillionQuotes.com
Science does not work by proving statements true, but rather by proving statements false.
~ Robert C. Martin
BazillionQuotes.com
It is a myth that we can get systems "right the first time." Instead, we should implement only today's stories, then refactor and expand the system to implement new stories tomorrow. This is the essence of iterative and incremental agility. Test-driven development, refactoring, and the clean code they produce make this work at the code level.
~ Robert C. Martin
BazillionQuotes.com
QA and Development should be working together to ensure the quality of the system. The
~ Robert C. Martin
BazillionQuotes.com
Error handling is important, but if it obscures logic, it's wrong.
~ Robert C. Martin
BazillionQuotes.com
I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well. -Bjarne Stroustrup, inventor of C++ and author of The C++ Programming Language
~ Robert C. Martin
BazillionQuotes.com
