Не нужно магических чисел
В основном тексте вашей программы не должно быть чисел в явном виде. Используйте перечислитель или константу для того, чтобы дать числу символическое имя. (Я уже объяснял, почему для этого не очень хорошо применять #define). Тут есть два преимущества:
·
Символическое имя делает величину самодокументируемой, устраняя необходимость в комментарии.
· Если число используется более чем в одном месте, то менять нужно лишь одно место —
определение константы.
Я иногда делаю исключение из этого правила для локальных переменных. Например, в следующем фрагменте используется магическое число (128):
f()
{
char buf[128]
...
fgets( buf, sizeof (buf) / sizeof(*buf), stdin );
}
Я использовал sizeof() в вызове fgets(), поэтому изменения размера массива автоматически отражаются в программе. Добавление дополнительного идентификатора для хранения размера добавит излишнюю сложность.