I was once told three rules for good writing:
The same apply to writing software. Forget design patterns and best practices — they're a means to an end, not an end in themselves. If you're code adheres to these three rules, it's good code. No matter what anyone says.