43

То, что мне помогло в изучении C# и Unity

С#

Тут я расскажу про подходы, которые помогли мне улучшить свой код.

Я никакой не программист, не ругайте, но исправляйте.


Несколько условий, которых я пытаюсь придерживаться:

- Придумывай информативные имена.

- Используй имена, которые характеризуют их модификатор доступа. Есть правила, но вы можете использовать удобное вам написание. Это поможет вам ориентироваться, а ещё так красивее.


private int _age;

public int Age;

const int AGE;


- Избегай публичных полей. Используйте [SerializeField] если доступ нужен только из инспектора. Используйте свойства, если доступ нужен вне класса.

[SerializeField] private int _age;

public int Age => _age;


Принципы ООП.

Так как это касается всего ООП, информации в интернете более чем достаточно. За правильной и точной формулировкой, лучше обратитесь к другим источникам.. Я постараюсь передать своё виденье, от лица новичка. Возможно, это будет кому-нибудь полезно.

После того как вы познакомились с наследованием, инкапсуляцией и полиморфизмом, прошу обратить ваше внимание на другие принципы.

DRY - не повторяйся. Если вы заметили повторение своего кода, стало быть делаете что-то не так. Не повторяй, а пере используй.


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

SRP - принцип единой ответственности. Каждый класс должен отвечать за что-то одно. Например: если вы делаете управление персонажем, не стоит сюда же добавлять считывание действий игрока или какую-нибудь механику стрельбы, и т.д. До знакомства с этим принципом, у меня часто возникали классы типа "Player" который отвечал за всё и сразу.

Держа это в голове, у вас никогда не возникнет проблем с тем, что ваш класс раздулся до невероятных размеров, а его изменение может привести к поломке всей игры.


OCP - принцип открытости / закрытости. Пиши так, чтобы при расширении функционала тебе не нужно было что-то менять в уже существующем коде.

Там ещё несколько принципов, которые я не осмелюсь описывать, так как особо не понимаю. Но более чем уверен, что их понимание сильно повлияет на ваш прогресс.

Паттерны проектирование
Более умные люди уже всё за вас давно придумали. Если выучите их и научитесь уместно применять, сильно облегчит вашу жизнь.

Что касаемо меня, мои познания заканчиваются на Observer, State и Singleton - который в свою очередь является противоречивым, как говорят умные дядьки, но эти дискуссии мы им и оставим. На данном этапе нас это не касается, если это упрощает нашу жизнь.

РЕСУРСЫ


Англоязычные:


Brackeys (YouTube) : https://www.youtube.com/@Brackeys
Огромное кол-во обучающих видео, которые помогут вам начать свой путь. Скорее всего тут вы найдёте ответ на любой свой вопрос, на который вам ответят простым и наглядным образом.

Tarodev (YouTube) : https://www.youtube.com/@Tarodev
Рассказывает как о простых, так и о более сложных вещях в очень доступной форме.

CodeMonkey (YouTube) : https://www.youtube.com/@CodeMonkeyUnity


Официальный курс Unity - Хороший способ, чтобы начать.


Курс Udemy - The Unity C# Survival Guide. Вам расскажут о C# в Unity, начиная с азов постепенно увеличивая сложность. Крайне удобно использовать как шпаргалку. Я его спиратил, да простят меня ребята.

Русскоязычные:


Emerald Powder (YouTube) : https://www.youtube.com/@EmeraldPowder
Пожалуй самый полезный канал в ru сегменте, для меня. Видео не так много, но они очень полезные и информативные.


В интернете огромное кол-во информации по Unity, что и стало для меня основным критерием выбора движка. С уверенностью можете искать реализацию какой-то механики или решение проблемы, скорее всего вы это найдёте.
Практика - главное. Можно бесконечно читать, но не закрепив знания действиями, они в скором времени исчезнут.

Заранее извиняюсь, если затриггерил какого-нибудь программиста.

Спасибо за внимание.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества