Кажется, автору вопроса надо внимательно проработать книги:
1) Стив Макконнелл - "Совершенный код"
2) Мартин Фаулер и др. - "Рефакторинг. Улучшение существующего кода."
А по поводу "потом трудно вспомнить на чем я остановился, зачем введены те или или иные куски кода" - помогут системы управления версиями при условии комментирования изменений.