Касательно меня, при программировании самая плохая и жуткая привычка это привычка спешить.
Когда стоит вроде простая задача, примерно понимаешь как делать и начинаешь. Потом возникают всякие мелочи, и вместо того чтобы остановиться, подумать и пока еще не наплодил кода переделать схему по которой работаешь, тупо делаешь какие нибудь новые функции или переделываешь старые. Код множится захламляется, приходит Хаос.
Потом потребуются волевые усилия чтобы разгрести все, иногда кажется что проще начать заново.
Подталкивает же к спешке внутреннее беспокойство и желание получить результат уже вот вот.
Значит надо просто успокоиться и сделать шаг назад. Только понимаешь это уже когда изначальный вроде ясный и четкий замысел какой нибудь доработки к программе превратился в мешанину разномастных функций, где без поллитры не разберешься.