Skip to content

Latest commit

 

History

History
44 lines (25 loc) · 3.31 KB

File metadata and controls

44 lines (25 loc) · 3.31 KB

Wiren Board C++ Style Guide

За основу можно взять Google C++ Style Guide. Для настройки автоматического форматирования используйте инструкцию по настройке Cpp в VSCode. Ниже приведены рекомендации по именованию.

Общее

Основным способом создания имён всего является JavaCamelCase. snake_case допускается в названиях локальных переменных, при этом они не должны использоваться в одном файле с CamelCase локальными переменными.

Функции и методы называются словосочетанием, описывающим то, что делаем функция, и начинаются с глагола: const std::string& GetMethodName().

Цель к которой нужно стремиться: по названию должно быть понятно, что делает функция, класс или что хранит в себе переменная без необходимости смотреть реализацию. Стоит избегать названий функций и методов типа DoWork(), переменных типа counter и т.д, кроме случаев, когда это не мешает пониманию.

Допускаются общепринятые короткие названия для переменных типа i,j для счётчиков в циклах.

В аббревиатурах остаётся первая заглавная буква: TMqttClient.

Классы

Классы именуются с заглавной T, например TModbusClient.

Базовые классы должны иметь название, заканчивающееся на Base: TModbusClientBase.

Названия классов-интерфейсов начинаются с I: class IException

Методы

Методы называются в CamelCase с большой буквы: GetMethodName.

Поля классов

Поля данных (переменные) классов называются с большой буквы:

Локальные переменные

Называются с маленькой буквы в camelCase. Допускается наименование с маленькой буквы в snake_case.

Макросы

Препроцессор C использовать не стоит. Вместо него предпочтительно использовать конструкции C++.

В очень редких случаях использование макросов действительно даёт большой выигрыш в читаемости кода. Если вы столкнулись именно с таким случаем, то пользоваться препроцессором можно. Но стоит быть готовыми отстаивать свою правоту на review.