Quality techniques evolved over time. So, outdated might mean untestable code with lots of static globals, #define's, no IOC, written in a way that makes unit tests impossible to write, circular dependencies, etc. These were once considered normal characteristics of code.