Это нормальная стадия развития разработчика, обычно обостряется после чтения Макконела, Фаулера и дядьки Боба Мартина.
Еще это бывает от того, что задачки скушные и хочется хоть как-то себя развлечь.
Мне в свое время очень помогал трекер времени, я знал эстимейт и сколько уже потратил и если время почти закончилось, а решение где-то далеко - значит пора искать подходящее, а не идеальное.
Но, так или иначе здравая програмиссткая лень возьмет верх, а накопленный опыт позволит решать задачи сразу хорошо.
Это тоже опыт, и многие застревают в этом этапе на годы. То, что вы это понимаете - очень хорошо.
Удачи, коллега ))