-
TDD — write the tests first, forces
you to think about testability and
helps write the code that is actually
needed, not what you think you may
need -
Refactoring to interfaces — makes
mocking easier -
Public methods virtual if not using
interfaces — makes mocking easier -
Dependency injection — makes mocking
easier -
Smaller, more targeted methods —
tests are more focused, easier to
write -
Avoidance of static classes
-
Avoid singletons, except where
necessary -
Avoid sealed classes