Robert Cecil Martin, known colloquially as "Uncle Bob", is an American software consultant and author. Martin has been a software professional since 1970 and an international software consultant since 1990. In 2001, he initiated the meeting of the group that created agile software development from extreme programming techniques.
If you say "I told you so", you are the one who has failed. Because you knew, but did not manage to stop the train wreck
[Most managers] may defend the schedule and requirements with passion; but that’s their job. It’s your job to defend the code with equal passion.
The proper use of comments is to compensate for our failure to express ourself in code.
Encoded names are seldom pronounceable and are easy to miss-type.
Programmers must avoid leaving false clues that obscure the meaning of code.
Functions should do one thing. They should do it well. They should do it only.
The ideal numbers of arguments for a function is zero (niladic). Next comes one (monadic), followed closely by two (dyadic). Three arguments (triadic) should be avoided where possible. More than three (polyadic) requires very special justification ‐ and then shouldn't be used anyway.
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that.
The Three Laws of TDD:
1) You may not write production code until you have written a failing unit test.
2) You may not write more of a unit test than is sufficient to fail, and not compiling is failing.
3) You may not write more production code than is sufficient to pass the currently failing test.