4. Naming convention
Общие правила
- Все имена переменных, классов и других сущностей должны использовать американскую версию английского языка.
- Имена не должны совпадать с зарезервированными именами Unity и .NET.
- Запрещено использовать любые виды сокращений в именах классов, методов и переменных.
- Исключение - стандартные и устоявшиеся сокращения, например
id,email,min,max. - В именах переменных, методов, свойств и типов запрещены спецсимволы.
- Допускаются только английские буквы и цифры.
Bool
- Имена
bool-переменных должны начинаться сis,has,can,shouldили соответствующих форм глаголаto be. - Остальным типам запрещено использовать слова
is,has,can,shouldв качестве префикса в имени.
Классы и структуры
При именовании class и struct используем PascalCase. Имена начинаются с заглавной буквы.
Пример:
public class DataService
{
}
public struct ValueCoordinate
{
}
Интерфейсы
- Имена интерфейсов пишутся в
PascalCaseс префиксомI. - Название должно быть существительным или прилагательным с суффиксом
-able. Примеры:IEnumerable,IDamageable,IInitializable.
Пример:
public interface IWorkerQueue
{
}
Public API
При именовании public-объектов используем PascalCase.
Пример:
public bool IsValid;
public IWorkerQueue WorkerQueue { get; init; }
public event Action EventProcessing;
public void StartEventProcessing()
{
static int CountQueueItems() => WorkerQueue.Count;
}
Private и internal поля
При именовании private и internal полей используем camelCase и добавляем префикс _, в том числе для readonly.
Пример:
public class DataService
{
private IWorkerQueue _workerQueue;
}
Параметры и локальные переменные
При написании параметров и локальных переменных используем camelCase.
Пример:
public T SomeMethod<T>(int someNumber, bool isValid)
{
}
Static поля
При работе с private или internal static полями используется префикс s_.
Пример:
public class DataService
{
private static IWorkerQueue s_workerQueue;
}
Константы
Все константы должны быть названы с использованием UPPER_SNAKE_CASE.
Файлы
- Названия
.csфайлов должны использоватьPascalCase. - Название файла должно полностью совпадать с именем главного типа в этом файле.
- Запрещено использовать слово
Scriptв названии файла скрипта.