Правила программирования на Си и Си++

       

Не нужно магических чисел


В основном тексте вашей программы не должно быть чисел в явном виде. Используйте перечислитель или константу для того, чтобы дать числу символическое имя. (Я уже объяснял, почему для этого не очень хорошо применять #define). Тут есть два преимущества:

·

Символическое имя делает величину самодокументируемой, устраняя необходимость в комментарии.

· Если число используется более чем в одном месте, то менять нужно лишь одно место —

определение константы.

Я иногда делаю исключение из этого правила для локальных переменных. Например, в следующем фрагменте используется магическое число (128):

f()

{

    char buf[128]

    ...

    fgets( buf, sizeof (buf) / sizeof(*buf), stdin );

}

Я использовал sizeof() в вызове fgets(), поэтому изменения размера массива автоматически отражаются в программе. Добавление дополнительного идентификатора для хранения размера добавит излишнюю сложность.



Содержание раздела