Re[2]: assert not for public methods
От: _newcomer_  
Дата: 10.01.14 16:44
Оценка:
Здравствуйте, insighter, Вы писали:

I>

I>http://stackoverflow.com/a/1957656
I>

Вот странные там по ссылке примеры приводят.
"...assertion could be used to check that the harddrive suddenly disapears..."
С чего бы вдруг? Внезапное исчезновение harddrive вполне себе часто встречающаяся ситуация без какой-либо мистики.
Много софта корректно это обрабатывает, просто переставая с ним работать.

И вообще — любой ресурс (диск, файл, канал связи, база данных и т.п.) может "внезапно" исчезнуть.
Но приложение, как правило, выполняет много разных функций, связанных не только с исчезнувшим ресурсом.
И если такое произошло, то вот пусть и "отключатся" те 20%-40%-60% функций, которым этот ресурс нужен, но
остальные 80%-60%-40% функционала пусть продолжают работать.

Мелкие утилиты, которые 100% завязаны на какой-то ресурс, так же не должны просто падать из-за этого,
а должны как минимум вывести сообщение о недоступности ресурса, а лучше — продолжить выполнение
в ограниченном режиме, ожидая возможного восстановления доступа к ресурсу.


P.S.: Я, например, начал дискутировать в этой теме только с одной целью — вдруг кто-то покажет реальный пример, где все это нужно. И пока что-то никак.
Re[3]: assert not for public methods
От: devcoach  
Дата: 10.01.14 21:48
Оценка:
Здравствуйте, _newcomer_, Вы писали:

__>Вот странные там по ссылке примеры приводят.

__>"...assertion could be used to check that the harddrive suddenly disapears..."
Да в интернете много чего странного можно прочитать. Например про то, что, дескать, каждый параметр надо во всех возможных вариантах проверять в каждом методе. 2 вложенных метода — значит две одинаковые проверки. 10 вложенных методов — 10 вложенных проверок. Крутяк

__>P.S.: Я, например, начал дискутировать в этой теме только с одной целью — вдруг кто-то покажет реальный пример, где все это нужно. И пока что-то никак.

Вам было приведено достаточно примеров. То, что вы не хотите их принимать, не означает, что они таковыми не являются.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.