5. Language guidelines
Строки
- Используем интерполяцию строк для объединения коротких строк.
- Отдаем предпочтение интерполяции строк, а не
string.Format. - Чтобы добавлять строки в цикле, используйте
StringBuilder.
Пример интерполяции:
string displayName = $"{nameList[n].LastName}, {nameList[n].FirstName}";
Пример StringBuilder:
var phrase = "lalalalalalalalalalalalalalalalalalalalalalalalalalalalalala";
var manyPhrases = new StringBuilder();
for (var i = 0; i < 10000; i++)
{
manyPhrases.Append(phrase);
}
Неявная типизация
- Используйте неявную типизацию для локальных переменных, когда тип переменной очевиден из правой части присваивания или когда точный тип не важен.
- Не используйте неявную типизацию, если тип не виден с правой стороны присваивания.
- Не полагайтесь на имя переменной, чтобы указать тип переменной.
- Используем неявную типизацию для определения типа переменной цикла
for. - Не используем неявную типизацию для определения типа переменной цикла
foreach. - При объявлении локальной переменной предпочтение отдавать ключевому слову
var, а не явному указанию типа данных.
Тип очевиден:
var var1 = "This is clearly a string.";
var var2 = 27;
Тип не очевиден:
int var3 = Convert.ToInt32(Console.ReadLine());
int var4 = ExampleClass.ResultSoFar();
Пробелы
Обязательно наличие ровно одного пробела:
- С обеих сторон бинарного оператора, кроме оператора
.. - С обеих сторон
?и:тернарного оператора. - С обеих сторон
=>в lambda expressions и expression body. - С обеих сторон
{и}. - С обеих сторон
:при наследовании, реализации интерфейсов и указании ограничений generic-параметров. - После операторов
if,while,for,foreach,switch,using. - Между каждым из атрибутов для члена класса.
- После
:при использовании именованного аргумента метода. - После запятой при перечислении параметров метода.
- После
//перед началом текста комментария.
Атрибуты
Группа атрибутов, относящаяся к одному объекту, должна указываться в одних квадратных скобках через запятую.
Фигурные скобки
Каждая фигурная скобка должна находиться на отдельной линии, причем соответствующие фигурные скобки должны быть выровнены по вертикали.
Числа
- При написании дробного числа необходимо целиком писать и целую, и дробную части.
- Для дробного числа необходимо использовать соответствующую букву на конце в нижнем регистре.
- Запрещено использование логики процентов внутри кода проекта, в том числе в
[SerializeField]. - Вместо процентов везде должны использоваться дробные числа.
- Например, вместо интервала
0% - 100%должен использоваться интервал[0, 1].
События
Запрещено подписываться на ивенты неявно, например указанием вызываемого метода в компоненте внутри префаба, как это возможно для Unity-компонента Button.
Модификаторы
Модификатор override ставится после модификатора доступа.