Sublime
An inspiration engine for ideas
The act of writing tests before production code often exposes areas in the software that ought to be decoupled.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
If OCP is applied well, further changes of that kind are achieved by adding new code, not by changing old code that already works.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Alternatively, lose the notion of projects entirely and build incremental capabilities in a steady flow.
Mark Schwartz • War and Peace and IT: Business Leadership, Technology, and Success in the Digital Age

disagree. The program you see here is easy to understand and therefore easy to maintain.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
remember that an agile developer does not apply those principles and patterns to a big, up-front design. Rather, they are applied from iteration to iteration in an attempt to keep the code, and the design it embodies, clean.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Documentation must be created, but it must be created prudently. The choice of what not to document is just as important as the choice of what to document. A complex communication protocol needs to be documented. A complex relational schema needs to be documented. A complex reusable framework needs to be documented. However, none of these things ne
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
To create comprehensive documentation
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
You need to explain the structure of some part of the code to someone else or to yourself.