Как-то однажды в одной из тем уже выдавались данные рекомендации...
1. Используйте тот синтаксис языка, который предусмотрен разработчиком компилятора.
Это позволит в последствии адекватно отыскивать баги, пользуясь официальными комментариями разработчика.
2. Вставляйте заголовки в программу, в каждый блок, в каждую подпрограмму.
Тогда не придется морщить лоб, вспоминая, что делает одна, а что другая...
3. Комментируйте строки программы (блока, подпрограммы), которые имеют критичное значение для выполнения программы.
Да и просто - комментируйте... Лишним не будет...
3. Фиксированные значения задавайте через Const, а не через связку DIM A... A = ....
Экономия памяти + скорость (незначительно) времени выполнения.
4. Разделяйте блоки, подпрограммы в листинге визуально.
К примеру: '=====================
5. В ходе работы над проектом "отодвигайте" уже отлаженное вниз листинга, меньше придется листать при отладке. При компиляции паззлы все равно сложатся правильно...
Например:
=========================
- начало главного цикла
....
....
- конец главного цикла
=========================
- фрагмент, который сейчас на отладке
....
=========================
- уже готовый фрагмент 1
....
=========================
- уже готовый фрагмент 2
....
Думаю, что еще много есть чего добавить...