Где начинающему разработчику подглядеть примеры неговнокода?
Практика. Нужен опыт решения конкретных задач средствами языка.
Фреймворки, паттерны и прочая архитектура не может изучаться на пустом месте, все это нужно цеплять на опыт.
Говнокод, который решает задачу, лучше, чем красивая архитектурка, списанная с учебника.
Когда понимаешь, как можно решать - можешь оценить качество решений. Без этого понимания будешь смотреть, как баран, и изобретать карго-культы.
В общем забудьте о концепции MVC, как классов и почитайте про ADR она больше подходит под реалии веб-приложений. 
А потом рекомендую PSR стандарты полистать особенно на предмет middleware и pipeline