Lo que NO debes hacer (pero todos hemos hecho)
Flujo enredado, saltos (GOTO), y dependencias caóticas. Imposible de mantener sin romper algo.
Una clase que "lo sabe todo" y "lo hace todo". Miles de líneas y responsabilidad infinita.
Valores hardcodeados sin contexto. if (status == 3) ... (¿Qué es 3? ¿Error? ¿Éxito?)
Clases sin vida propia (ej. excesivos Utils o Managers vacíos) que solo invocan métodos de otros.
"Si tienes un martillo, todo parece un clavo". Usar la misma tecnología (ej. Web) para TODO problema.