Re[63]: Haskell нужен! (в Standard Chartered Bank)
От: AlexRK  
Дата: 26.02.15 16:38
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>Чем это принципиально отличается от одной точки входа, после которой идут условия? Простейший вопрос:


M>Было: copy-paste кода в 5 мест в виде if(X)->if(Y)->if(Z)->вызов_функции(). Раскорячились, написали «предусловия» на типах


M>Стало: перенесли if(X)->if(Y)->if(Z) в саму функцию. Теперь в пяти местах стоит только вызов_функции(). Все, «это действительно не имеет смысла»© и «То есть предусловий нет? О чём и речь»© ?


Между ифами может быть много кода, причем в разных местах — разного. Не всегда возможно перенести ифы в одну функцию.
То есть проверки условий могут быть разбросаны по разным местам системы. К примеру, проверили где-то наверху, что переменная не равна нулю, и дальше с помощью типов это знание растекается по всем функциям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.