Именование
Программа читается человеком чаще, чем пишется. Хорошее имя помогает понять, что хранит переменная и зачем она нужна. Но в вводном разделе слишком длинные имена мешают видеть саму конструкцию языка, поэтому используем короткий учебный стиль.
Имена пишем английскими буквами. В первых уроках выбираем короткие слова: speed, dist, time, sum, count, mode. Если нужно два слова, используем нижнее подчёркивание: max_speed.
Что можно использовать в имени
Имя может содержать латинские буквы, цифры и знак _. Начинать с цифры нельзя.
| Можно | Нельзя | Почему |
|---|---|---|
speed | 2speed | имя не может начинаться с цифры |
dist | robot-speed | минус читается как операция |
max_speed | class | class — слово языка C++ |
count1 | скорость | в разделе не используем русские буквы в коде |
C++ различает регистр: speed, Speed и SPEED — разные имена.
Учебный стандарт раздела
В этом разделе используем такие правила:
- имена на английском;
- переменные — маленькими буквами;
- сначала одно короткое слово;
- если без двух слов неясно, пишем
max_speed; - не используем русские буквы в коде;
- не называем разные вещи почти одинаково.
Пример:
#include <iostream>
using namespace std;
int main() {
int speed = 60;
int dist = 30;
int time = 5;
cout << speed << endl;
cout << dist << endl;
cout << time << endl;
return 0;
}
Популярные стили
| Стиль | Пример | Где встречается |
|---|---|---|
| одно слово | speed | простые учебные программы |
| snake_case | max_speed | C, Python, часть C++ проектов |
| camelCase | maxSpeed | JavaScript, Java, часть C++ проектов |
| PascalCase | MotorDriver | имена классов в некоторых проектах |
| UPPER_CASE | MAX_SPEED | константы и макросы в старом коде |
На первых занятиях не смешивайте стили без причины. Если начали писать max_speed, не пишите рядом maxSpeed для такой же идеи.
Плохие и хорошие имена
| Плохо | Лучше | Почему |
|---|---|---|
x | speed | понятно, что хранится |
thing | dist | меньше пустого смысла |
distanceFromFrontSensorInCentimeters | dist | для первого знакомства слишком длинно |
d1, d2, d3 | left, mid, right | видна роль значения |
Имена a, b, c допустимы в коротком математическом примере. В программе робота лучше использовать короткое слово по смыслу.
Практика
- Придумайте имена для скорости, расстояния, времени и режима.
- Исправьте имена
x1,x2,thingв маленькой программе. - Запишите три имени в стиле snake_case.
- Найдите в своём коде имя длиннее 12 символов и сократите его без потери смысла.
- Объясните, почему
classнельзя использовать как имя переменной.
Проверьте себя
- Почему в учебном коде используем английские имена?
- Можно ли начать имя с цифры?
- Чем
speedотличается отSpeed? - Когда допустимы имена
a,b,c? - Какой стиль принят в этом разделе?
Сначала ответьте без подсказки. Ответ можно считать полным, если вы:
- формулируете основную мысль своими словами;
- называете важные условия, ограничения или меры безопасности;
- для схемы, кода или расчёта показываете ход решения и ожидаемый результат.
Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.
Словарь статьи
| Термин | Значение |
|---|---|
| идентификатор | имя переменной, функции или другого элемента кода |
| стиль именования | договорённость о записи имён |
| snake_case | стиль с нижним подчёркиванием |
| camelCase | стиль, где второе слово начинается с большой буквы |
| ключевое слово | слово, занятое языком C++ |
Связанные темы
- Переменные и типы данных — где впервые появляются имена.
- Функции — имена подпрограмм.
- Классы — имена собственных типов.
Источники
- C++ Working Draft. Identifiers: https://eel.is/c++draft/lex.name
- ISO C++ Core Guidelines. Naming and layout: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines