Belfigor
Если в редакторе нет переноса строк, а комментарии начинаются в конце строки кода, то получается что они не мешают и в тоже время их легко можно прочитать при надобности.
По поводу комментариев: очень много правил для правильного кодинга уже написано для языка Си, и в одном из них было сказано, что комментарии должны быть указаны только к тем участкам кода, которые представляют трудность чтение, например:
2+2 ; складываем два числа
это излишнее, потому что явно понятно и без комментариев.
-------------------------
1. Я перестал присваивать переменным пустую строку. Оказалось что переменная и элементы массива по умолчанию являются строковый тип и дополнительно ничего не требуется.
2. Стал пользоваться Tidy постоянно. Поставил его на клавишу Alt+Z и любой код новичка обязательно пропускаю через Tidy, перед тем как разбираться в нём.
3. Стал делать план перед любым проектом и отчёт о выполненных пунктах. Это позволяет на этапе зарождения программы учесть всё что будет включено заранее и избавляет от дальнейшего дописывание заплаток.
4. Любой участок кода, который можно сделать в виде отдельной самостоятельной функции, так и делаю. Это позволяет забыть об очистке переменных и не следить чтобы такое дублирование приводило к растрате памяти. Кстати про ООП дочитал статью, в которой как раз и говорилось что при переходе Firefox на ООП привело к тому что некоторые классы держали в памяти дубликаты переменных и при закачке файла 1 Гб размер в памяти был дублированным.
Из недостатков:
1. Редко пользуюсь Au3Check.exe. Во первых он замедляет работу при тестировании программы заставляя объявить все переменные для кода который возможно через минуту будет удалён. Но для UDF обязательно проверяю, чтобы исключить необъявленные переменные (это уже не недостаток).
2. До сих пор не использую #Region
-----------------------------
На счёт сложения битовых флагов с помощью BitOR (например стилей GUI). Заявил об этом на офсайте, в принципе все приняли это как рекомендацию, а не как жёсткое правило, потому что те, кто понимают что это такое, они либо складывают с помощью BitOR, либо заранее уверены, что складываемые константы являются одиночными флагами.