Re: Совсем отстой?
От: Sinix  
Дата: 10.11.16 11:50
Оценка:
Здравствуйте, ylem, Вы писали:

Y>Мотив проверять: в реализации "view" кто-то что-то изменить (или оно уже сейчас не всегда работает так, как я предполагаю).

Y>Мотив в релизе не кидать эксэпшн: у пользователя просто не будет работать один контрол но все остальное будет доступно и ничего не потеряется

Мы для таких вещей пишем
  var combo = view.ActiveEditor as ComboBoxEdit;
  DebugCode.BugIf(combo == null, "Bug: combo is not ComboBoxEdit");
  ...


Т.е. для отладочного кода — падаем с понятным сообщением, для релиза — никаких проверок и (скорее всего) падаем с NRE.
Это в типовом случае "код из нагруженного участка, покрыт тестами, ошибки быть в принципе не может, для подстраховки — вот тебе ассерт".

Если ситуация другая, то можно или оставить ассерт и в релизных сборках, или (ниже) проверять combo на null и действовать по обстоятельствам.
Меня подобный вариант не очень привлекает, т.к. такие костыли явно намекают на косяк в дизайне приложения. Лучше написать нормально и не оставлять грабли на потом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.