Skip to content

Instantly share code, notes, and snippets.

@GoldsteinE
Created March 6, 2016 22:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GoldsteinE/ffe9752c1405a1f960d6 to your computer and use it in GitHub Desktop.
Save GoldsteinE/ffe9752c1405a1f960d6 to your computer and use it in GitHub Desktop.
Style Guide
Функции и переменные называются в стиле lowerCamelCase.
Классы называются в стиле UpperCamelCase.
Глобальные константы называются КАПСЛОКОМ_ЧЕРЕЗ_ПОДЧЁРКИВАНИЕ.
Функции-геттеры называются getSmth()
Функции-сеттеры называются setSmth()
Мы не используем венгерскую нотацию, т. е. имя переменной не содержит указания на её тип.
Заголовочные файлы имеют расширение .hpp, а не .h
В заголовочных файлах используем include-guard, а не pragma once, т.е. пишем так:
#ifndef SOMEFILE_HPP
#define SOMEFILE_HPP
// Code
#endif
В заголовочных файлах не пишем #include'ов, если необходимо использовать название класса пишем
class Smth;
в начале кода.
private-часть объявляем в явном виде.
Если необходимо использовать cin, cout etc пишем using namespace std;
private, public и protected пишем без отступа от слова class.
Фигурные скобочки ставим так:
if (...) {
...
} else {
...
}
Табуляцию делаем 4 пробелами (это не лучший вариант, но правильный мы сейчас не потянем), на конце файла должна стоять новая строка. Конец строки, если это настраивается в редакторе, делаем в Unix-style (LF а не CRLF).
Множественные константы (типа side) делаем с помощью enum class'ов, именуя сам enum class и его элементы как классы:
enum class Side { SideLeft, SideRight, SideBack, SideForward, SideRandom };
Непосредственно enum не используем никогда.
В прототипе функции пишем только название типа аргумента, т. е.:
void setWeight(int)
Всегда явно указываем this->, даже когда это не необходимо.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment