Стали ли условия: pre &: post defn устаревшими после введения core.spe c? - PullRequest
3 голосов
/ 29 марта 2020

Я новичок в Clojure и с первого взгляда вижу, что core.spe c делает все, что: pre &: условия post defn используются для PLUS гораздо больше.

Я понимаю, что ядро .spe c был введен намного позже (и все еще в альфа / бета фазе) и: pre &: условия post defn существовали намного дольше - может быть, поэтому pre / post все еще не считаются устаревшим подходом?

Есть ли что-то, что: pre /: post предлагает, что я не могу получить от core.spe c?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 марта 2020

Многие люди предпочитают Plumati c Schema Clojure Spe c (оба имеют свои сильные стороны). clojure.test.check также очень мощный.

Суть в том, что все вышеперечисленное применяется только (обычно) при выполнении юнит-тестов. Проверки :pre и :post применяются всегда при выполнении функции.

Еще одним инструментом, который мне нравится, является Plumati c Схема функция validate. Вы можете найти аналогичную (но лучше) функцию в tupelo.core/validate.

1 голос
/ 25 апреля 2020

Как отмечено в официальной документации, вы можете использовать оба вместе: https://clojure.org/guides/spec#_using_spec_for_validation

...