4. Naming convention

Общие правила

  1. Все имена переменных, классов и других сущностей должны использовать американскую версию английского языка.
  2. Имена не должны совпадать с зарезервированными именами Unity и .NET.
  3. Запрещено использовать любые виды сокращений в именах классов, методов и переменных.
  4. Исключение - стандартные и устоявшиеся сокращения, например id, email, min, max.
  5. В именах переменных, методов, свойств и типов запрещены спецсимволы.
  6. Допускаются только английские буквы и цифры.

Bool

  1. Имена bool-переменных должны начинаться с is, has, can, should или соответствующих форм глагола to be.
  2. Остальным типам запрещено использовать слова is, has, can, should в качестве префикса в имени.

Классы и структуры

При именовании class и struct используем PascalCase. Имена начинаются с заглавной буквы.

Пример:

public class DataService
{
}

public struct ValueCoordinate
{
}

Интерфейсы

  1. Имена интерфейсов пишутся в PascalCase с префиксом I.
  2. Название должно быть существительным или прилагательным с суффиксом -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.

Файлы

  1. Названия .cs файлов должны использовать PascalCase.
  2. Название файла должно полностью совпадать с именем главного типа в этом файле.
  3. Запрещено использовать слово Script в названии файла скрипта.