Конвенция имён

Названия

Названия должны кратко передавать информацию о его назначении. Избегать однобуквенных и одинаковых названий.

Namespaces

Для namespaces используем PascalCasing. Несколько слов вместе пишем без дефисов, тире и нижнего подчёркивания.

namespace RayWenderlich.FPSGame.HUD.Healthbar {...}

Классы, интерфейсы, структур и перечислений

Для классов, интерфейсов, структур, и перечислений используем PascalCasing, для интерфейсов используем префикс I.

public sealed class SomeClass : MonoBehaviour {...}
public interface ISomeVisiter {...}

Поля

Для всех не статических полей используем camelCase, кроме публичных. Для публичных используем PascalCase

public class MyClass
{
    public int PublicField;
    int packagePrivate;
    private int myPrivate;
    protected int myProtected;
}

Для статических полей используем PascalCasing.

public static int TheAnswer;

Не используем префиксы (, m, s_ и тд). Если необходимо разделить локальную и глобальную переменную класса используем this.

public State(StateMachine stateMachine, StateName name)
{
     this.stateMachine = stateMachine;
     this.name = name;
}

Свойства

Для свойств используем PascalCasing. Для свойств мы не используем приставку Get/Set

 public int PageNumber
    {
        get
        {
            return pageNumber;
        }
        set
        {
            pageNumber = value;
        }
    }

Параметры

Для параметров используем camelCase

 void DoSomething(Vector3 location)

Константы

Все константы именуем буквами верхнего регистра, между словами используем нижнее подчёркивание.

private const int SOME_CONST = 1;

События / Ивенты

Для всех ивентов используем PascalCasing и префикс on

public UnityAction onDeath;

Перечисления и коллекции

Для массивов коллекций используем суффикс s.

private Rigidbody[] rigidbodies;
private List<Rigidbody> rigidbodies;

Last updated