TGViewer
Mikhail Kolobov | Gamedev Forge Mikhail Kolobov | Gamedev Forge @gamedevforge · 1.08K subscribers
Post #154 956
Сегодня у меня для вас только чужие туториалы

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

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

Помимо Nullable, в туторе еще рассказывают про Optional и Either. Первая похожа на nullable но дает возможность определить другой набор операций при отсутствии значения. Вторая дает возможность обрабатывать различные значения в зависимости от условий. Например, основное и дополнительное (или ближнее/дальнее) оружие у игрока.

Во многих случаях я бы предпочел наоборот инкапсулировать эту логику в объект предметной области, а не декорировать его. Хочется все таки максимально вглубь классов убрать эти некрасивые вызовы, чтобы вместо:
Either<Weapon, Weapon> weapon;
weapon.Match(
left => //do something with primary weapon,
right => //do something with secondary weapon);

Была красивая и короткая запись:
WeaponPair weapons;
weapons.DoSomething();


Фух, так давно веду канал, пора бы и за код начать душнить)
Ставьте 🔥если понравился такой формат

#туториал@GamedevForge
YouTube Revolutionize Your Unity Game with Optionals and Monads Nullable types (`int?`), the `default` keyword, and the null-forgiving operator (!) set the stage for creating powerful Monads like Optional and Either in Unity. In this video, we dive into how these Monads can eliminate null checks, handle success and failure…
  • 🔥 21
  • ❤ 3
More from @gamedevforge
  1. Oct 2, 2026Сколько бы времени ни прошло, для меня все равно самое тупое в резюме - это "достижения" В…
  2. Sep 22, 2026Это пока что мое любимое видео про создание игры целиком через ИИ. В отличие от всех говно…
  3. Sep 21, 2026Спорим, большинство закинут книгу в гпт и спросят "перескажи кратко че там"?
  4. Sep 10, 2026Пока все теребонькали свои клоды и кодексы, то пропустили самую ненужную фичу
  5. Sep 9, 2026Claude выкатил список скиллов для Unity https://claude.com/plugins/unity И чет... хз, звуч…
  6. Sep 5, 2026Ну что, кто-то уже сделал GTA 7 в один промпт на GPT 6 Astra?
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →