Size: a a a

Clojure — русскоговорящее сообщество

2021 August 31

v

vveare138 in Clojure — русскоговорящее сообщество
а, ну выше уже noname уже ответил
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
когда json натягивают на defrecord, это тоже валидация в рантайме
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
выше на картинке тот же валидатор
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
по ссылке выше я же писал: программист думает, что создал новый тип, это просто валидация с синтакическим сахаром
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
в языках с динамической типизацией так же ведь:

- валидация происходит один раз
- дальше уходят валидные данные в функи

- и трансформируются мапки до выхода
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Так Рич (слава ему) уже шутил же:
Что общего у всех багов, которые нашлись на проме?…
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
они все прошли ревью и статически типизированы
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
— Они прошли через все линии обороны: типизация, валидация, компиляция, ревью, автотесты, ручные тесты…
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
да, все по классике
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
И ещё есть одна интересная мысль: юнит-тесты не несут ценности для заказчика.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Да, Николай?
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
ну они для нас больше
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Типа того.
источник

nn

noname nobody in Clojure — русскоговорящее сообщество
так и со спеками также будет, нет?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
не совсем, там предикат можно задать с параметром, например

(s/def ::username (string-max 128))

(s/def ::description (string-max 1000))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
где string-max -- твой предикат
источник

nn

noname nobody in Clojure — русскоговорящее сообщество
ну тут я могу после валидации проапдейтить мапу и 128 заменить 200. все же тип нельзя создать не провалидировав входные данные.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
можно и в окно выброситься после валидации
источник

nn

noname nobody in Clojure — русскоговорящее сообщество
value object, после создания экземпляра значение уже не изменить. а создать можно только через create
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
зачем что-то менять после валидации?
источник