Советы профессионала
Как правильно использовать типы переменных?
· Избегайте сравнения переменных разных типов
Например, дляпеременныхx:real; i:integer;сравнение x = iпочти гарантированно не работает, так как преобразование одного типа к другому всегда связано с округление и получить точное равенство (с точностью до двоичного разряда) нельзя!
· Избегайте сравнения на равенство переменных вещественных типов
Если десять раз сложить 0.1,то значение 1.0 получится очень редко: почти всегда – 0.99999...Поэтому для вещественных переменных x1, x2 вместо сравнения x1 = x2следует сравнить абсолютное значение их разности с заданной точностью, например: abs(x1 - x2) <= 0.00001
· Используйте функции и процедуры Object Pascal для преобразования типов
Ord(x) –возвращает порядковый номер значения x в
перечисляемом типе. Например, Ord(True) = 1
Chr(N) –возвращает символ, соответствующий порядковому
номеру Nв таблице символов.Например, Chr(65) = 'A'
Trunc(x) –округляет значение вещественного x до целого,
отбрасывая дробную часть
Round(x) –округляет значение вещественного x до ближайшего
целого
Int(x) –возвращает целую часть вещественного x
Frac(x) –возвращает дробную часть вещественного x
Val(S, I, Code) –процедура преобразуетстроку S в число I.
Code = 0 –нет ошибки, иначе – ошибка
Str(I, S) –процедура преобразуетчисло I в строку S.
Как правильно использовать константы?
· Избегайте «магических» чисел
Используйте в программе в качестве числовых констант только значения 0или1.Все другие значения («магические» числа) должны быть описаны, как именованные константы. Например, Const N = 10;и везде в коде программы вместо числа 10 используйте наименование N.
· Используйте символьные константы, а не их порядковый номер
Вместо Chr(65)напишите в коде программы просто 'A'.
Как правильно задать имя переменной?
· Самый важный принцип – имя должно полно и точно описывать сущность, представляемую переменной
· Имена переменных должны облегчать чтение кода программы
· Выбирайте длину наименования исходя из времени жизни переменной
Считается, что отладка программы требует меньше усилий при использовании имен переменных, состоящих от 8 до 20 символов.
Короткие имена – значит переменные второстепенные с коротким временем жизни
· Добавляйте Спецификаторы вычисляемых значений
Спецификаторы вычисляемых значений – Count(количество), Max(максимум), Average (среднее), Total (общее число) и другие – добавляются в конце имени переменной. Например, customerCount, customerTotal – общее число заказчиков
· Используете i, j, k для показателей циклов
Как правило, наименование показателей циклов – i, j, k.Если Вы используете эти наименования для показателей циклов,тоне используйте их для других целей в программе!
· Используете общепринятые наименования для логических переменных
§ Done – признак завершения цикла. Присвойте false до цикла и true– после завершения
§ Error – признак ошибки: false – нет ошибки, true – ошибка
§ Found– признак обнаружения некоторого значение. Например, поиск значения в массиве. Присвойте false до начала поиска и true – как только значение найдено
§ Success или ОК – признак успешного завершения операции. Присвойте false, если операция завершилась неудачно, и true, если операция завершилась успешно
· НЕ используете похожие символы в наименовании
Например: Gили6, 1илиl, Qили0, 2 илиZ, Sили5и другие
· Начинайте наименование переменной со строчной буквы, а наименования типов – с прописной.