styleguide - Arcanoid-development-team/Arcanoid GitHub Wiki
Правила оформления названий
- Слова внутри названий переменных/функций/классов начинаются с большой буквы и пишутся камел-кейсом (
CamelСase, camelCase, _camelCase) - Имена классов, структур, функций, свойств начинаются с большой буквы (
CamelСase) - Имена интерфейсов начинаются с заглавной буквы I, дальше Camelcase (
ICamelСase) - Названия входных переменных, локальных переменных камел-кейсом, но с маленькой первой буквы (
сamelСase) - Названия приватных полей класса начинаются с подчеркивания и маленькой буквы (
_сamelСase) - Названия всех остальных полей - с большой (
CamelСase) - Названия констант, объявленных внутри функции - с маленькой буквы (
сamelСase) - Названия констант, объявленных вне функции - с большой (
CamelСase)
Более концептуальные правила
- Фигурные скобки должны быть всегда и при этом они должны быть на новых строках. Исключения: обычно не ставят скобки после if, если дальше идет return.
...
if (isFinish)
return 9;
....
Скобки могут быть на тех же строчках, если это, например, заполняется маленький класс..
var point = new Point {x = 1; y = 3}
- Везде, где это возможно заводим переменные в месте инициализации и фигачим var, вместо явного указания типа.
- Стараемся писать небольшие функции и классы
- Модификаторы доступа лучше указывать все (не только public, но и private явно прописывать)
- Обычно действует правило: один класс - один файл. Исключения только для вложенных классов, или маленьких классов, которые только тут нужны. Маркерные интерфейсы тоже можно в одном месте все объявить.
Правила оформления коммитов
(пункт внесен к рассмотрению, комментируйте части которые не нравятся или вызывают вопросы)
Общий стиль оформления коммитов: PAD-X: [текст комментария], где X - номер задачи или символ *.
- Было принято решение, что текст комментария должен быть преимущественно на русском языке (возможно использование английского языка, если это не мешает восприятию русского текста, т.е. for great justice).
- Символ * после PAD может быть использован когда коммит не связан с конкретной задачей. Так же в этих случаях может быть полностью использован просто префикс "PAD :". ВАЖНО использовать данные префиксы только в случае изменений не влияющих на функциональность системы, т.е. исправление опечаток и т.п. В случае если: "хочется что то поменять, что не нравится, но задачи вроде бы и нет, но тут же немного, да нифига не сломается точно..." нужно завести задачу в трекере, чтобы остальные участники потом оценили весь цимес ситуации.
- Каждый коммит должен представлять из себя рабочее состояние системы, т.е. не должно быть двух коммитов вида: "PAD-6X6: Добавил в класс Ball перделку", "PAD-6X6: Потдержал перделку из Ball в классе Fild" при которых проект вобще не компилируется и просит пойти нафиг. При этом если в первом коммите проект компилируется и работает, то такие коммиты считаются вполне валидными.
- Несмотря на предыдущий комментарий нужно стараться делать коммиты как можно менее объемными, т.е. избегать коммитов вида: "PAD-6X6,*: Добавил новую свестульку, изменил 5 иконок, исправил 3 опечатки и попрыгал через обруч".