Unity C# — Рекомендации по коду.

Embedded Image

Знания необходимые для того, чтобы понять о чём я буду говорить:

1. Синтаксис C#

2. Базовое понимание принципов ООП

3. Увлечение движком Unity

Берите чашечку какао с зефирками, садитесь в удобное кресло, и мы начинаем:)

Минутка терминологии для непонимающих:

Поле является переменной любого типа, которая объявлена непосредственно в классе или структуре. Поля являются членами содержащих их типов.

Embedded Image

Microsoft Docs — это библиотека технической документации для конечных пользователей, разработчиков и IT-специалистов, работающих с продуктами Microsoft.

Для начала, Не нужно делать публичных полей в ваших скриптах без надобности, ведь под рукой всегда есть такая чудесная штука как [SerializeField]. Что же это такое?

С помощью [SerializeField] вы получаете доступ к приватным полям в инспекторе Unity, и соответственно изменять их не меняя значения в скрипте.

Это очень помогает в случаях, когда вы уже не на начальной стадии разработки, и строки кода идут уже в счету по тысячам, а самих скриптов уже навалило не много не мало 10+, и именно тогда на помощь приходит он — [SerializeField] — Герой нашего времени!

Также, приватные переменные(в независимости сериализованы они или нет) мы называем начиная с _(нижнего подчёркивания) и маленькой буквы.

Embedded Image

Оформление полей.

Если у вас в коде много полей с разными модификаторами доступа, например public и private etc.. На этот случай тоже есть рекомендация по оформлению и читабельности вашего кода.

Иерархия расположения модификаторов доступа:

1. [SerializeField] — поля с этим модификатором расположены выше всех остальных.

2. private — После [SerializeField] через пустую строку идут приватные поля.

3. Далее идут свойства и методы…

Вы наверное спросите, а где же публичные поля? По хорошему, у вас не должно быть публичных полей в принципе, но если без них вам не деться, тогда вам нужно использовать свойство которое будет возвращать значение поля.

Иерархия всех модификаторов доступа:

Комментарии: 0