- •Хороший стиль программирования
- •1. Не забывайте о комментариях
- •Комментируйте описания переменных
- •Комментируйте логику программы
- •2. Понимание переменных - ключ к пониманию программы
- •Все переменные должны быть описаны
- •Сопровождайте описания комментариями
- •Тщательно выбирайте имена переменных
- •3. Разделяй и властвуй – Используйте процедуры
- •У каждой процедуры должна быть своя задача
- •Процедура не должна быть большой
- •4. Текст должен быть удобен для чтения
- •Выделяйте алгоритмическую структуру
- •Смещение означает подчинение
- •Не экономьте на пробелах
- •Соглашение об именованиях – венгерская нотация
- •2.1. Именование модулей
- •2.2. Именование форм и модулей данных
- •2.3. Именование классов и интерфейсов
- •2.4. Именование полей
- •2.5. Именование методов
- •2.6. Именование переменных
- •2.7. Нотация (префиксы) для именования переменных (экземпляров объектов) в зависимости от типа
- •2.8. Именование глобальных констант
- •2.9. Зарезервированные слова
- •2.10. Объявление типов и экземпляры переменных определенных типов
- •2.11. Перечислимые типы
- •2.12. Строковые ресурсы
- •2.13. Исключения
Сопровождайте описания комментариями
При описании следует прокомментировать каждую переменную. Об этом уже говорилось, когда речь шла о комментариях. Еще раз подчеркнем, что комментировать необходимо назначение переменной, её соответствие каким-то данным из содержательной задачи, которую решает программа.
Тщательно выбирайте имена переменных
Описание и комментарий - это хорошо, но когда мы читаем программу, они остаются далеко в начале текста, и не хочется слишком часто к ним возвращаться. Имя переменной - другое дело. Оно неотделимо от переменной, оно всегда рядом, поэтому понимание смысла переменной во многом зависит от удачного выбора имени.
Имя переменной должно соответствовать её смыслу в программе. Следует избегать однобуквенных имен и конструкций типа "буква с цифрой" - в них легко запутаться. Надо давать близкие (но не слишком похожие) имена родственным данным, нельзя давать похожие имена данным, которые ничего общего не имеют.
3. Разделяй и властвуй – Используйте процедуры
Главное понятие процедурного программирования - процедура. Нельзя сразу объять необъятное, поэтому грамотное разбиение на процедуры - ключ к успешному решению больших задач.
У каждой процедуры должна быть своя задача
Каждая процедура должна решать свою небольшую задачу. Очень полезно сформулировать эту задачу в явном виде и записать в виде комментария в начале процедуры. В идеале задача должна описываться одной короткой фразой. Если фраза получается длинной и сложной или не обойтись одной фразой вообще не удается, это чаще всего означает, что разбиение сделано не до конца и в данной процедуре скрывается ещё одна или несколько процедур, которые можно выделить и записать отдельно.
Процедура не должна быть большой
Объем процедуры должен быть таким, чтобы её было несложно охватить как единое целое, понять сразу всю логику ее работы. Обычно процедура без описаний и вступительного комментария должна помещаться на один экран. Если экрана не хватает, есть смысл подумать о дальнейшем разбиении.
4. Текст должен быть удобен для чтения
Для компьютера чаще всего не важно, как ваша программа разбита на строки и где в этих строках поставлены пробелы. Компилятор должен отделить лексемы (минимальные элементы, из которых состоит программа, - имена, знаки операций, служебные слова) друг от друга, а остальное ему безразлично.
Компилятору безразлично, а человеку - нет. От того, насколько удачно размещен текст программы, существенно зависит легкость ее восприятия.
Выделяйте алгоритмическую структуру
Опытные программисты всегда пишут программы "лесенкой". Каждый раз, когда в программе используется алгоритмическая структура (цикл, ветвления, выбор ...), весь текст внутри этой структуры сдвигается вправо. Например, вот так:
<действия до цикла>
while <условие цикла> do
begin
<тело цикла>
end
<действия после цикла>
Такая запись позволяет увидеть, где начинается и где заканчивается конструкция, какие команды входят в нее, а какие нет. В сложных программах с большим количеством вложенных конструкций такая запись становиться просто необходимой: без нее будет чрезвычайно трудно разобраться в структуре программы.
Смещение означает подчинение
Это правило - расширение предыдущего. Записывая лесенкой алгоритмические структуры, мы смещаем вправо внутренние команды, показывая тем самым, что они подчинены заголовку.
Точно также можно показывать подчинение и в других случаях. Например, если длинный комментарий не помещается на строке, продолжение записывается со смещением, чтобы показать, что это не самостоятельное действие, а часть предыдущего.
