Most of the time I would precisely give the opposite advice. That's especially true if I had to deal with a large and/or legacy codebase.<p>It only really works if applied equally at all levels of the codebase.
From a security perspective, this is also a bad idea. One of the golden rules of security is to validate all input. Anything which the programmers didn't expect and check for can potentially be used as part of an exploit.