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


Имена должны быть обычными


Избегайте аббревиатур; они ухудшают читабельность программ. Некоторые по привычке продолжают использовать аббревиатуры, что приводит к абсурдной практике, типа отбрасывания последней буквы слова или удаления из него всех гласных. Возьмем странно названную функцию UNIX creat(); очевидно, что create() лучше. Я также видел странности типа lnghth

вместо length и mt

вместо empty.

При этом общепринятые аббревиатуры являются очевидными исключениями. Вот тот минимум из них, которым я пользуюсь сам:

col   — индекс столбца;

cur   — текущий;

i j   — обобщенные счетчики циклов;

max   — максимум (обычно в качестве префикса или суффикса);

min   — минимум (обычно в качестве префикса или суффикса);

obj   — обобщенный объект (имеется указатель на базовый класс, но производный класс не известен);

p ptr — обобщенный указатель;

s str — строка (в языке Си обычно char*),

но не употребляйте их, если называемый объект используется не как обобщенный. Например, i

имеет смысл использовать в качестве счетчика цикла в операторе for, если этот счетчик используется просто для подсчета числа итераций:

for( i = 10; --i = 0; )    // нарисовать 10 тире

  putchar('-');

Используйте настоящее имя, если вы применяете счетчик для чего-нибудь отличного от счета. Сравните этот код:

for( i = 0; i imax; ++i )

  for( j = 0; j jmax; ++j )

    move_cursor( i,j );

со следующим:



for( row = 0; row max_row; ++row )

  for( col = 0; col max_col; ++col )

    move_cursor( row, col );

Я также избегаю использовать x и y

вместо row и column. Одно из ранее указанных правил рекомендует пропускать программу через систему проверки орфографии. Действительное достоинство этого метода состоит в том, что он побуждает вас использовать в качестве имен обычные слова.



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