Ну во-первых без багов написать большой код очень трудно.
чем больше строк кода тем возможно больше допустить ошибок. Поэтому надо писать небольшие процедуры и каждую отлаживать и оптимизировать отдельно.
Очень помогает когда пишешь красивый код
конечно в идеале надо много комментариев, но все мы знаем что это нереально, да и времени нет и вроде когда пишешь то и так понятно.
надо форматировать код
отступать пустые строки чтобы выделить цикл или условие
каждый вложенный код условия или цикла писать с отступом на размер табуляции. Согласитесь что красивый текст легче оценить и понять визуально и это избавит от многих ошибок.
ну и конечно пишите последовательно. не надо перепрыгивать от одной задачи к другой. Надо закончить одно и потом начинать другое.