Re: Design by Сontract
От: Андрей Коростелев Голландия http://www.korostelev.net/
Дата: 12.04.08 10:11
Оценка: 1 (1) +1
Здравствуйте, Юрий Жмеренецкий, Вы писали:

ЮЖ>Как уже было сказано выше, это насильно создает новые состояния. В клинических случаях они сливаются в одно — в корневом try/catch:


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

Вообще, в такого рода обсуждениях не может быть универсального правильного совета, пока не ясно, что представляет собой f(). Очевидно, что подход к проверке предуловий будет различен, в случае, если f() является частью loosely-coupled интерфейса для конечного пользователя, и в случае, если f() предназначена для взаимодействоя в рамках high-cohesive системы.
-- Андрей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.