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 опечатки и попрыгал через обруч".