Я программирую C++, используя стиль наименования подчеркивания (в отличие от случая с верблюдом), который также используется STL и boost. Однако, так как типы и переменные/функции называются все строчные, объявление переменной члена следующим образом приведет к ошибкам компилятора (или по крайней мере, проблемы):Является ли именование переменных после их типа плохой практикой?
position position;
переменной член с именем позиция которая имеет тип позиция. Я не знаю, как еще назвать это: обычно это позиция, но это также позиция объекта. В случае с верблюдом это было бы хорошо с компилятором:
Position position;
Но в C++ это вызывает проблемы. Из-за этого я не хочу переключаться на верблюд, использовать венгерскую нотацию или добавлять задние символы подчеркивания, поэтому мне интересно: хорошо ли называть член как тип в любом случае?
В C, это довольно часто использовать загадочные один-буквенные переменные для этого:
int i;
Но я считаю, что немного, ну, маскировочная:
position p;
Существуют ли какие-то правила большого пальца для переменных имен я могу использовать, чтобы избежать этого?
Есть еще примеры в моем коде, если вам нужно что-то, чтобы работать на:
mouse_over(entity entity) // Returns true if the mouse is over the entity
manager &manager; // A reference to the framework's manager
audio audio; // The audio subsystem
Edit:
мне было интересно посмотреть, если сам Бьярне Страуструп есть, что сказать по этому вопросу , По-видимому, он не имеет, но он предлагает конвенцию кодирования, которые будут работать вокруг моих проблем компилятора:
Например, капитализировать нестандартные библиотеки типов, определяемого пользователь и начать nontypes со строчной буквой
Это 'd быть совместимым с STL и boost, поэтому я мог бы использовать это. Однако большинство из вас согласны с тем, что этого наименования следует избегать, компилируется оно или нет. Так же Страуступ:
Неразумно выбирать имена, отличающиеся только капитализацией.
Имена типов начинаются с верхнего регистра. Имена переменных начинаются с нижнего регистра. И имена переменных никогда не бывают короткими.Попробуйте найти источник для всех экземпляров переменной 'i'. –
В коде есть глава об именах переменных. –
'i' отлично подходит для имени индексной переменной или итератора, который является локальным для строки 3-4 для цикла. Определенно не рекомендуется для переменных-членов. –