Size: a a a

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

2021 March 24

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
источник

IG

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
не, ну много лесенки плохо, с другой стороны, никто не мешает разбить на функции
«плохо» — это субъективная оценка
те более если лесенка есть неотъемлемая логическая часть алгоритма
«плохо» — это не то же самое, что «вынуждает» 😊
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
«плохо» — это субъективная оценка
те более если лесенка есть неотъемлемая логическая часть алгоритма
«плохо» — это не то же самое, что «вынуждает» 😊
я про читабельность
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Просто после тебя придет другой разраб и разом из выметет.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
но опять же, с учётом того, что в кложе длинные функции - дурной тон, больших лесенок не получится налепить
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
я про читабельность
ну например обсуждаемый <<- для меня абсолютно нечитаемый 😊
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну например обсуждаемый <<- для меня абсолютно нечитаемый 😊
дык для меня тоже
источник

DS

Denis Shilov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
но опять же, с учётом того, что в кложе длинные функции - дурной тон, больших лесенок не получится налепить
бывает в реальном коде со сложной вложенной обработкой ошибок, но тут никуда не деться, отбиваю комментами с описанием для чего эта ветка - помогает
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
в пет-проекте можно любое безумие обкатывать, это даже полезно для экспериментов. Но в нормальной команде это завернут.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
в кложе даже без дополнительных макросов много способом записать код по разному, чтобы сделать его читабельным
именно поэтому я хотел увидеть оригинальный код топикстартера
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Denis Shilov
бывает в реальном коде со сложной вложенной обработкой ошибок, но тут никуда не деться, отбиваю комментами с описанием для чего эта ветка - помогает
я для обработки ошибок по возможности использую Failjure и attempt-all решает большую часть проблем с лесенками
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
дык для меня тоже
это как пример, что «убирание лесенки» не делает код читабельней
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Sergey Trofimov
это как пример, что «убирание лесенки» не делает код читабельней
наращивание лесенки тоже
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
тредмакросы - они именно для потоковой обработки функциями (или макросами, которые работают похоже на функции)
Более того, они либо для работы над коллекциями, либо для работы над "объектами".
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
ну, я со Стюартом не согласен по поводу арифметики, я форт уважаю :)
источник

DS

Denis Shilov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
я для обработки ошибок по возможности использую Failjure и attempt-all решает большую часть проблем с лесенками
надо смотреть реальные примеры, но вообще гляну этот failjure, хотя там сразу с ридми монадами щеголяют
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
наращивание лесенки тоже
не слышал идей о принудительном наращивании лесенки 😊
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Sergey Trofimov
в кложе даже без дополнительных макросов много способом записать код по разному, чтобы сделать его читабельным
именно поэтому я хотел увидеть оригинальный код топикстартера
(defn- parse-field [field]
 (<<-
  (if-some [[_ lang attr] (re-matches #"\A(\w\w)\$(.+)" field)]
    {:kind :translation
     :lang (keyword lang)
     :attr (keyword attr)})
  (if-some [[_ tag attr] (re-matches #"\A(es|vs)#(.+)" field)]
    {:kind :nested
     :tag  (keyword tag)
     :attr (keyword attr)})
  (if (re-matches #"[^\$#]+" field)
    {:kind :root
     :attr (keyword field)})
  (throw (ex-info "Unexpected field format" {:field field}))))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
блин, ничего не понять
источник