2019-04-08, 5:22 PM | |
C++ имеет зарезервированный набор из 84 слов (включая версию С++17) для собственного использования. Эти слова называются ключевыми словами, каждое из которых имеет своё особое значение. Вот список всех ключевых слов в C++ (включая C++17): alignas (C++11) alignof (C++11) and and_eq asm auto bitand bitor bool break case catch char char16_t (C++11) char32_t (C++11) class compl const constexpr (C++11) const_cast continue decltype (C++11) default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new noexcept (C++11) not not_eq nullptr (C++11) operator or or_eq private protected public register reinterpret_cast return short signed sizeof static static_assert (C++11) static_cast struct switch template this thread_local (C++11) throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq C++11 также добавил два специальных идентификатора: override и final. Они имеют особое значение при использовании в определённых контекстах, но не являются зарезервированными ключевыми словами. Мы уже сталкивались с некоторыми ключевыми словами, такими как int, void и return. Вместе с набором операторов, ключевые слова определяют весь язык C++ (не включая команд препроцессора). Поскольку они имеют особые значения, то разные IDE выделяют/подсвечивают их другим цветом. К концу этого туториала вы узнаете суть большинства из этих слов. ИдентификаторыИдентификатор — это имя переменной, функции, класса или другого объекта в C++. Мы можем определять идентификаторы любыми словами/именами. Тем не менее, есть несколько общих правил, которые необходимо соблюдать:
Теперь, когда вы знаете, как можно называть объекты, давайте поговорим о том, как их нужно называть. Во-первых, в C++ имена переменных начинаются с буквы в нижнем регистре. Если имя переменной состоит из одного слова, то это слово должно быть записано в нижнем регистре. 1 int value; // корректно 2 int Value; // некорректно (должно начинаться с буквы в нижнем регистре) 3 int VALUE; // некорректно (должно начинаться с буквы в нижнем регистре) 4 int VaLuE; // некорректно (должно начинаться с буквы в нижнем регистре) Как правило, имена функций также начинаются с буквы в нижнем регистре (хотя есть некоторые разногласия по этому вопросу). Мы будем придерживаться этого стиля, поскольку даже функция main() (главная функция всех программ) начинается с буквы в нижнем регистре, как и все функции из стандартной библиотеки C++. Имена идентификаторов, которые начинаются с заглавной буквы, используются для структур, классов или перечислений (об этом позже). Если имя переменной или функции состоит из нескольких слов, то есть два варианта: разделить подчёркиванием или использовать CamelCase (несколько слов пишутся слитно, без пробелов, и каждое новое слово пишется с заглавной буквы). CamelCase (в переводе с англ. как «ВерблюжийСтиль») получил своё название из-за заглавных букв, которые напоминают верблюжьи горбы. int my_variable_name; // корректно (разделяется символом подчёркивания) void my_function_name(); // корректно (разделяется символом подчёркивания) int myVariableName; // корректно (используется CamelCase) void myFunctionName(); // корректно (используется CamelCase) int my variable name; // некорректно (пробелы запрещены) void my function name(); // некорректно (пробелы запрещены) int MyVariableName; // работает, но не рекомендуется (следует начинать с буквы в нижнем регистре) void MyFunctionName(); // работает, но не рекомендуется Хотя даже стандартная библиотека C++ использует символ подчёркивания для переменных и функций, мы же мы будем использовать CamelCase — для лучшей читабельности кода. Иногда вы будете видеть сочетание двух способов: подчёркивание для переменных и CamelCase для функций. Стоит отметить, что если вы работаете с чужим кодом, то хорошей практикой будет придерживаться стиля, в котором написан этот код, даже если он не соответствует рекомендациям выше. Во-вторых, не начинайте ваши имена с символа подчёркивания, так как такие имена уже зарезервированы для ОС, библиотеки и/или используются компилятором. В-третьих, (это, пожалуй, самое важное правило из всех) используйте в качестве идентификаторов только те имена, которые реально описывают то, чем является объект. Очень характерно для неопытных программистов сокращать имена переменных, дабы сэкономить время при наборе кода или потому что они думают, что всё и так понятно. В большинстве случаев не всё всегда является понятным и очевидным. В идеале переменные нужно называть так, чтобы человек, который первый раз увидел ваш код, понял, как можно скорее, что этот код делает. Через 3 месяца, когда вы будете пересматривать свои программы, вы забудете, как они работают, и будете благодарны самому себе за то, что называли переменные по сути, а не как попало. Чем сложнее код, тем проще и понятнее должны быть идентификаторы. int ccount Плохо Никто не знает, что такое ccount int customerCount Хорошо Теперь понятно, что мы считаем int i Плохо* В большинстве нетривиальных случаев — плохо, в простых примерах — может быть (например, в циклах) int index 50/50 Хорошо, если очевидно, индексом чего является переменная int totalScore Хорошо Всё понятно int _count Плохо Не начинайте имена переменных с символов подчёркивания int count 50/50 Хорошо, если очевидно, что мы считаем int data Плохо Какой тип данных? int value1, value2 50/50 Может быть трудно понять разницу между переменными int numberOfApples Хорошо Всё понятно int monstersKilled Хорошо Всё понятно int x, y Плохо* В большинстве нетривиальных случаев — плохо, в простых примерах — может быть (например, в математических функциях) *Примечание: Можно использовать тривиальные имена для переменных, которые имеют тривиальное использование (например, для переменных в цикле, в простых математических функциях и т.д.). В-четвёртых, уточняющий комментарий всегда будет только плюсом. Например, мы объявили переменную с именем numberOfChars, которая должна хранить количество символов определённой части строки. Сколько символов в строке «Hello, world!»: 10, 11, 12 или 13? Это зависит от того, учитываем ли мы пробелы и знаки препинания или нет. Вместо названия переменной numberOfCharsIncludingWhitespaceAndPunctuation лучше записать хороший комментарий, который прояснит ситуацию: 1 // Эта переменная подсчитывает количество символов части строки, включая пробелы и знаки препинания 2 int numberOfChars;
ТестКакие из переменных неправильно названы и почему? int result; int _oranges; int NUMBER; int the name of a variable; int TotalCustomers; int void; int countFruit; int 4orYou;
int kilograms_of_pipe; | |
| |
Просмотров: 396 | Загрузок: 0 | |
Всего комментариев: 0 | |