[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Стабильная система?



Oleksandr Gavenko -> debian-russian@lists.debian.org  @ Mon, 05 Oct 2015 00:46:42 +0300:

 OG> Разработка на Haskel bottom-up? В старых книжках по Форту хвастают что при
 OG> таком подходе ты выверяешь каждый кирпичик в момент его конструирования, а из
 OG> надежных кирпичей строишь надежное здание.

В обе стороны бывает.  Благодаря богатой системе типов ты можешь
сформулировать что-то вида

dumpDescFrag :: Dictionary
                -> [(DefParamType,DictTypeDef)]
                -> [DictParamInfo]
                -> Dictionary
dumpDescFrag = undefined

и компилировать (но не запускать) код, который использует dumpDescFrag.
Если ты понимаешь, что потребуется передать в эту функцию, то вот тебе
top-down.

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

 OG> Тесты помагают с регресиями, 10 мин. bisect может избавить от
 OG> многодневной отладки.

Да.  За это приходится заплатить многонедельным написанием тестов :)

 OG> Помагают при реструктуризации кода, например изменил сигнатуру и идя по
 OG> ошибкам от компилятора правишь кусочки.

Если язык со статической типизацией, то гораздо лучше помогает компилятор.


Reply to: