47 подписчиков
Опыт — это про понимание пограничных состояний
Пограничные состояния это то, о чем надо думать больше всего. Допустим почему разработчики не любят время? Казалось бы, что может пойти не так, это же всего лишь часы. Но календарь, время, переход на летнее время — это куча эдж кейсов. Они все легко прогнозируемы, но о них надо помнить.
Допустим в игре есть дейли квесты. Они обновляются каждый день. Или какие-то попытки. А что такое конец дня? У тех кто в Москве — это по UTC 21:00, а у тех кто в часовом поясе UTC+0 в 24:00. Стоит ли брать часовой пояс пользователя? Такой кейс конечно чаще всего обходят выбрав нужный часовой пояс. Но это и не единственный случай. Часто ошибаются в расчёте скажем периодичности. Давайте к другому примеру)
У вас сингл плеер игра, сервера нет. Всё по местному времени так сказать. Вам нужно чтобы у пользователя каждый день выбирался квест из X вариантов. Последовательно. И так по-кругу. Допустим вариантов больше 7, чтобы было чуть посложнее. Как это сделать?
Неправильное решение это скажем брать индекс через DayOfYear % X. Оно будет работать только в том случае, если DayOfYear делится на X без остатка. По сути нужно взять какой-нить DayFromRelease % X, и надеяться что в игру перестанут играть до переполнения переменной :)
1 минута
2 декабря 2022