Size: a a a

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

2021 February 24

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
ну вот пишешь ты бизнеслогику, а у тебя 5 публичных defn-ов в нейспейсе
а что в этом плохого?
источник

DL

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

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
ну т.е. не всегда это так, но это явный такой звоночек, что надо перепроверить
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
ну а если мне так надо? это все еще плохо? если да, то как границу провести между плохо/хорошо?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
+ "бизнес логика" (как термин) плоховато укладывается в язык в котором такого понятия нет
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
я бы линтер настраивал так: если функция используется снаружи и на ней нет докстринга - ворнинг, все остальные случаи ок.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Alex Bubnov
я бы линтер настраивал так: если функция используется снаружи и на ней нет докстринга - ворнинг, все остальные случаи ок.
+1
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
только не если используется а просто нет докстринга )
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
отдельно заморачиваться с какими-то аннотациями приватности - что за бред, форсить это на уровне тулинга - вообще нафиг.
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
только не если используется а просто нет докстринга )
не, тут как раз вся суть - то, на чем есть докстринг уровня функции, считается публичным документированным апи, и всё из этого вытекающее.
то, у чего просто камменты в коде - недокументированное приватное апи, используйте на свой страх и риск, без всяких гарантий
источник

DL

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
чем форсированная приватность хуже форсированной публичности?
ничем, просто выбор авторов
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
вон в расте наоборот
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Kirill Chernyshov
вон в расте наоборот
в racket тоже, например
источник

DL

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

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
чем форсированная приватность хуже форсированной публичности?
тем, что форсированная публичность не ограничивает других людей в действиях "на свой страх и риск"
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Alex Bubnov
тем, что форсированная публичность не ограничивает других людей в действиях "на свой страх и риск"
приватная тоже, если надо действовать на страх и риск: #'ns/fn
источник

DL

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

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
приватная тоже, если надо действовать на страх и риск: #'ns/fn
про это не знал, кстати.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Alex Bubnov
про это не знал, кстати.
а как тесты на приватные функи без этого писать?
источник