Так как в C \ C ++ \ Java —
int 2a ; //invalid suffix "a" on integer constant
Нет ли ничего плохого в цифрах в остальной части имени варианта, хотя это правильный синтаксис?
Подобно —
int num1 ;
int num_1st ;
int num_2nd ;
Я никогда не слышал ни о ком (например, о каких-либо стандартах / рекомендациях по кодированию), у которых были проблемы с цифрами в идентификаторе. Тем не менее, их слишком много Можно указать, что вектор или массив может быть предпочтительнее — даже с двумя, ваш num_1st
а также num_2nd
может быть лучше, как numbers[2]
,
идентификатор не может начинаться с цифры. Он должен начинаться с буквы или подчеркивания.
Идентификатор переменной должен начинаться с буквы или подчеркивания, но остальные символы могут быть буквой, подчеркиванием или цифрой.
Вы даже можете объявить переменную:
int _ = 0;
Или, если вы знакомы с регулярным выражением, оно может быть структурировано как:
«[A-Za-Z _] \ ш *? \ Ь»
Где \ w *? часть не обязательна.
Ответ: нет, в остальном имени идентификатора нет ничего плохого.
Пока имена переменных имеют смысл, использование цифр в качестве части имени определенно не плохо. Конечно, наличие большого количества переменных с одинаковыми именами и числом в конце для их дифференциации может быть признаком плохого дизайна.
Я уверен, что причина того, что идентификаторы не начинаются с цифр, заключается в том, что это значительно облегчает написание синтаксического анализатора:
c = getchar();
ungetc(c);
if (isdigit(c))
token = number();
else
token = identifier();
Это идентификатор правила отключения, который должен начинаться с буквы или знака подчеркивания, после чего разрешены только цифры.