Коллега и я - новички Clojure.Мы запустили проект пару месяцев назад, но быстро обнаружили, что нам сложно работать с нашей кодовой базой - к 500 LOC мы практически не знали, с чего начать с отладки, когда что-то пошло не так (что было часто).Вместо пар функции получали списки, или числа, или что-то еще.
Теперь мы начинаем новый, но связанный проект и переносим старый код.Но мы снова попали в стену.
Нам интересно, как нам эффективно управлять проектом Clojure, особенно когда мы вносим изменения в существующий код?
Что мы придумали:
- свободное использование юнит-тестов
- свободное использование предварительных, постусловий
- неформальные объявления типов в комментариях к функциям
- use defrecord /defstruct / defprotocol для реализации модели данных, которая действительно упростит тестирование
Но предварительные условия, по-видимому, используются не очень часто.Юнит-тестирование + комментарии только очень помогут.И похоже, что программисты Clojure обычно не реализуют формальные модели данных.
Разве мы не получаем Clojure? Как программисты Clojure знают, что их код является надежным и правильным?