Created
March 6, 2016 22:14
-
-
Save GoldsteinE/ffe9752c1405a1f960d6 to your computer and use it in GitHub Desktop.
Style Guide
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Функции и переменные называются в стиле 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