Chapter 1: A Hypothetical Compiler

  • enable all optional compiler warnings to see from the beginning if the code starts to slip;
  • enable FxCop to avoid compiler-legal code which is likely to be wrong (ex: not using the disposable pattern on an object which implements the interface);
  • always compile and run unit tests before checking in even if the change was trivial (even if it was just a refactoring with no new written code);
  • find bugs as early and easily as possible.

Conclusion: you want to catch the bugs automatically, at the earliest possible stage without relying on someone else’s skills.