
Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)

If you are lucky, you start a project with a clear picture of what you want the system to be. The design of the system is a vital image in your mind. If you are luckier still, the clarity of that design makes it to the first release. But then something goes wrong. The software starts to rot like a piece of bad meat. As time goes by, the rotting
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
According to your estimates, these cards represent about one perfect team-week’s worth of work. The last iteration of the previous project managed to get one perfect team-week done in 3 real weeks. If we can get these five stories done in 3 weeks, we’ll be able to demonstrate them to Russ. That will make him feel very comfortable about our
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Where’d the I go? In the .NET community, it is conventional to precede the name of an interface with a capital I. In the preceding example, the interface Command would conventionally be named ICommand. Although many .NET conventions are good, and in general this book follows them, this particular convention is not favored by your humble authors. In
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
All production code is written in order to make a failing unit test pass.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
The software design is not complete until it has been coded and tested. Testing is a fundamental part of the design validation and refinement process.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
a metaphor is more than a system of names. A metaphor is a vision for the system. A metaphor guides all the developers to choose appropriate names, select appropriate locations for functions, create appropriate new classes and methods, and so on.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
It takes a lot of work to make a document small, but that work is worth it. People will read small documents. They won’t read 1,000-page tomes.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Viscosity of environment comes about when the development environment is slow and inefficient. For example, if compile times are very long,
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
A software project is not like a fire-and-forget weapon. A software project must be continuously guided.