clojure-russia

Работа и релокейт: #jobs-rus | #clojure-russia-offtop Телеграм-чат https://t.me/clojure_ru
dottedmag 2018-02-23T13:51:49.000496Z

@guliy А чего хочется-то? Строку от 10 до 100?

dottedmag 2018-02-23T13:54:34.000244Z

Спека принимает произвольный предикат, почему внутри предиката бредово сконвертировать тип?

guliy 2018-02-23T17:18:43.000279Z

Да все красиво получается если у тебя везде clj/cljs. А как только начинаются взаимодействия с внешними api (json), query string, и тд. начинаются танцы с бубном, ибо сначала тебе надо все конвертнуть в нужные типы данных, а потом пропустить через spec. И все сразу уже не так радужно... spec-tools прям реально снимает эту боль.

2018-02-23T17:27:47.000395Z

@guliy спека все таки не про конверсию, спека про проверку шаги должны быть независимы друг от друга. Поэтому нужно писать функцию которая будет делать конверт внутри (let [iv (int v)] (and (> 10 iv) (< iv 100))

misha 2018-02-23T17:28:42.000656Z

почему "внутри"?

misha 2018-02-23T17:29:59.000131Z

это вы еще unform не распробовали

2018-02-23T17:30:16.000036Z

наверное потому что, кажется так код получается более composable

misha 2018-02-23T17:30:25.000708Z

наоборот

2018-02-23T17:30:30.000580Z

> это вы еще unform не распробовали да, может быть

misha 2018-02-23T17:31:16.000318Z

может "удобнее, кода меньше, не нужно в 2 местах править при изменении формата инпута", но точно не "более composable"

fmnoise 2018-02-23T21:24:07.000213Z

шо ж вы зануды такие, spec-tools как spec-tools, коэрсия как коэрсия, а спека, как и все остальное, вроде core.async - не более, чем строительный блок