Про разработку на Unity и .Net, радость и боль программирования.
Автор: @KotikovD
Про искусство и игрострой:
@svolochandborshch
Post #265
932

Чисто я под конец проекта
🐱🐈
🐱🐈
- 😁 7
- 😭 3
- 👍 1
КО @cat_and_code
Showing posts older than #266 · Back to latest


QuestData GetQuestData(string questId)
null. Но бывает, что метод при этом может вам его вернуть не показав ошибки или не упав. Не зная этого вы растиражируете это значение по коду и упадете неизвестно где. И от этой рандомной точки нужно будет вернуться к этому методу в обратном направлении затратив время на поиск ошибки. Это потеря времени просто, чтобы узнать, что например, ошибка в данных и такого questId не существует.QuestData GetQuestData(string questId)
{
if (_quests.TryGetValue(questId, out QuestData data))
return data;
return null;
}
if (questData != null) везде где этот метод вызывается, а это повсеместный мусор. И, конечно, замедляет разработку.QuestData GetQuestData(string questId)
{
if (_quests.TryGetValue(questId, out QuestData data))
return data;
throw new Exception("Quest id '{questId}' not found.")
}
bool TryGetQuestData(string questId, out QuestData data)
{
return _quests.TryGetValue(questId, out data);
}
null.questId, которые вы передаете в метод. В варианте с возвращением null или throw new Exception — вам надо будет 10 раз запустить игру, чтобы их найти. В варианте, где вы очевидно обрабатываете отсутствие данных и, например, выводите лог, то вы узнаете все 10 неверных questId за один запуск. Это снова экономия времени.








[SuppressMessage("...", "...")], по факту он точечно отключает настройки анализаторов. Пара примеров://Отключает жалобы на нейминг полей
[SuppressMessage("ReSharper", "InconsistentNaming")]
//Отключат пометку, что поля "не инициализируется"
[SuppressMessage("ReSharper", "UnassignedField.Global")]
public sealed class BuyPowerResponseData : BaseSocketResponseData
{
public string profile_id;
public int new_power_qty;
public int last_power_tick;
}

[CanBeNull] — [NotNull] — все наоборот, гарантирует, что значение никогда не бывает null.