kb 10.08.2012 16:05 04a3831c

Как же я не люблю рефакторинг. Последние пол дня моей работы состояли из прогресса вида:
FAILED (errors=10, failures=41)
FAILED (errors=9, failures=28)
FAILED (errors=5, failures=13)
FAILED (errors=1, failures=5)
и нехилой такой прокастинации.

1. generatorglukoff 10.08.2012 16:05 Воркота

i know that feel, bro

2. gds 10.08.2012 19:22

поэтому уважаю статическую типизацию. С ней рефакторить всяко проще. (конечно, это не серебрянная пуля.)

3. kbgds /2 11.08.2012 07:47

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

4. gdskb /3 11.08.2012 11:12

согласен про то, что есть сцуко очень разные случаи. Сам уже полторы недели рефакторю статически-типизированное, высокоуровневое, точнее, подгоняю под новые требования. Логики много, той, что не проверить хиндли-милнером, а на coq перетащить ниасилил, "я только учусь".

Но в моих случаях обычно не "борьба с компилятором", а "компилятор подсказывает, какие места программы необходимо обойти вниманием", на основании таки типов и кое-чего ещё. Например, sum types / record types — первые всегда, а вторые периодически разбираются паттерн-матчингом, который, кроме очевидного "нет такого конструктора/поля" и "такой-то конструктор не заматчен", говорит "а вот тут ты матчишь все конструкторы, и, если добавятся, то прощёлкаешь", или "тут ты разбираешь все поля записи, они добавились, ты вероятно прощёлкал".