Основа - 3KGames/rules GitHub Wiki
Мотивация
Единый стиль написания кода у всех участников важен для быстрого вкатывания в чужой код.
Пример. Один разработчик, пускай его будут звать женя, написал метод CallUtka()
, который использует переменную PP_Utka_Roman_utkaUTKA
. Я уверяю, что в таком коде будет очень сложно разбираться, вплодь до того, что даже не понятно PP_Utka_Roman_utkaUTKA
переменная, или пространство имен.
Или вот нужно отрефакторить один скрипт большой скрипт (1000+ строк), в котором все сложено в случайном порядке - метод, поле, поле, коструктор, евент, поле, метод и так далее. Будет невыносимо сложно прыгать от строки к строке. Поэтому нужен единый стиль именования и единый порядок расположения элементов в классе.
Где что и как писать
Следующие рекомендации почти полностью взяты из C# at Google Style Guide, лишь некоторые моменты, которые я счел необязательными были убраны или переработаны.
Наименования
- Имена классов должны быть в
PascalCase
'e - Имена всех полей, локальных переменных и параметров в
camelCase
'e - Публичные методы именуются
PascalCase
'ом - Название интерфейсов начинается с заглавной I:
IPascalCase
- Файлы и папки называются в
PascalCase
иPascalCase.cs
стилях
Организация
Порядок размещения методов класса
- Группирование членов класса осуществляется в порядке:
- Вложенные сущности (классы, структуры, перечисления)
- Статичные, константные поля
- Поля
- Евенты
- Геттеры и сеттеры
- Конструкторы, деструкторы, либо методы Monobehavior'а в порядке из вызова движком
- Методы
- Внутри каждой группы элементы должны быть расположены в следующем порядке:
- public
- protected
- private