Имена должны быть обычными
Избегайте аббревиатур; они ухудшают читабельность программ. Некоторые по привычке продолжают использовать аббревиатуры, что приводит к абсурдной практике, типа отбрасывания последней буквы слова или удаления из него всех гласных. Возьмем странно названную функцию 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. Одно из ранее указанных правил рекомендует пропускать программу через систему проверки орфографии. Действительное достоинство этого метода состоит в том, что он побуждает вас использовать в качестве имен обычные слова.