Делаю инет-магазин. Навороченность где-то такая: http://www.zappos.com/ - много связей, много вложенных связей, много всего. Не то, чтобы было сложно, только имена уже за 40 символов в длину полезли - путаница возникает.
Так сидишь, кодишь, отрываешь руки от клавы, смотришь: криво, в голове проносится несколько других вариантов, тонны ругани в честь переписывания кода там, там и ещё где-то там... и ты понимаешь что все 6 вариантов плохие в принципе. Один будет проще рефакторить, другой красивее, под третий нужно менять меньше кода. Но никогда - все преимущества разом.
Иногда просто не понятно как могло бы быть лучше. Нужно больше опыта?