- 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.