На данный момент среди ответов много воды. У каждого свое мнение и тонем в хаосе. И каждый считает как именно надо делать.
Изначально писать грамотно? Это как изначально жить хорошо. Все равно хочется вернуться к каким-то участкам кода и править. Потом еще править. В итоге нельзя сохранить код чистым как и жизнь прожить без ошибок.
Рефакторинг самый лучший, хоть и обычный грубый вариант.