Create specific interfaces rather than one general-purpose interface. IFileReader and IFileWriter are better than one IFileProcessor .
Subtypes must be substitutable for their base types. This ensures that inheritance in C# doesn’t break your logic. Agile principles, patterns, and practices in C#...
A class should do one thing. In C#, use small classes and interfaces rather than "God Objects." Agile principles, patterns, and practices in C#...
Two developers working on one C# file. This is excellent for knowledge sharing and catching "logic bugs" before they reach the build server. 4. Why This Works in C# Agile principles, patterns, and practices in C#...