TGViewer
SpellSinger - разработчик игр на Unity SpellSinger - разработчик игр на Unity @spellsingergames · 548 subscribers
Post #123 853
Про важность структуры данных

Во время разработки я стараюсь делать так, чтобы сама структура данных уменьшала вероятность возникновения ошибки. Например, в Java я сделаю поле boolean вместо Boolean, чтобы гарантированно не встретить там null.

Или, допустим, мне нужно записать данные нескольких игроков. У игрока два свойства - id и name. Я ни за что не сделаю два массива: int[] ids; string[] names. Я создам класс Player с двумя полями, и массив Player[] players. И никогда не окажусь в ситуации, что ids.Length != names.Length.

При создании таблиц в БД я не забываю про UNIQUE и NOT NULL.

Не забываем ставить 🤡 за такие простые примеры

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

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

Делай как я.

P. S. В OnValidate я эти проверки не хотел засовывать, он слишком часто вызывается.

#программирование
Telegram SpellSinger - разработчик игр на Unity Как выполнить код перед билдом Addressables? Есть интерфейс IPreprocessBuildWithReport, имплементировав который можно выполнить свой код перед сборкой игры. Однако, сборка Addressables происходит до вызова этого интерфейса. Если нужно как-то поработать…
  • 👍 14
  • 🤡 9
  • ❤ 2
  • 🥱 2
More from @spellsingergames
  1. Oct 1, 2026Автор
  2. Aug 31, 2026Post #235
  3. Aug 25, 2026Прошли модерацию на Crazy Games. Basic Launch продлится до 15 сентября или пока не наберет…
  4. Aug 24, 2026А мы, тем временем, идём покорять #crazy_games Вчера ночью отправили билд на модерацию. Мо…
  5. Aug 24, 20262 недели нужно рекоммендеру Яндекс игр, чтобы как-то отреагировать на изменения метрик. AR…
  6. Aug 14, 2026Шестой эпизод подкаста ГЕЙМДЕВ ПОД ПИВОМ уже во вторник, в 22:30МСК! Хорошенечко отоспитес…
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 →