This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-10-22
Channels
- # admin-announcements (29)
- # aws (2)
- # beginners (25)
- # boot (110)
- # business (15)
- # cider (39)
- # cljs-dev (3)
- # clojure (90)
- # clojure-czech (28)
- # clojure-hamburg (1)
- # clojure-japan (24)
- # clojure-poland (149)
- # clojure-russia (46)
- # clojure-sg (9)
- # clojure-uk (6)
- # clojure-ukraine (1)
- # clojurescript (105)
- # core-async (37)
- # cursive (9)
- # dato (7)
- # datomic (6)
- # emacs (10)
- # events (1)
- # hoplon (22)
- # jobs (4)
- # ldnclj (38)
- # leiningen (4)
- # off-topic (17)
- # om (173)
- # onyx (134)
- # re-frame (46)
- # reagent (35)
Всем привет. Начал пробовать Clojure, прошелся по базовым концепциям и конструкциям. Стал пробовать и понял, что мне было бы очень полезно, если бы кто-то покритиковал код. Ссылку прикладываю, жду комментов... https://gist.github.com/ossbase/b593400fee121f57ea05
у меня незначительные комментарии, но все же:
• согласен с комментарием в gist, для диспатчинга по type, вместо использования cond, можно использовать defmulti
• не совсем понятен интерфейс - какие из методов публичные какие приватные?
• небольшие вопросы по форматированию кода, в частности индентация в коде
(if ..)
. Мне кажется более читабельно делать индентацию каждого бранча по открывающей скобке слева.
Здесь тоже нестандартная индентация кода https://gist.github.com/ossbase/b593400fee121f57ea05#file-member-clj-L44
• для чего оставлять пустые docstring у функций https://gist.github.com/ossbase/b593400fee121f57ea05#file-member-clj-L27
@trybeee: @artofshine все нормально там с индентами. Там bensu все ок написал. Ну и главное да, забудь про макросы пока, вырази что хочешь без них
@prepor: вопрос вкуса вероятно, но первый вариант мне кажется более читабельным https://gist.github.com/trybeee/85cfdc350873d42ac402
кажется, не кажется, а главное в этом деле что бы было одинаково ) кложавские (да и целом лисповые гайды говорят о втором варианте). в целом правило простое — как cider отформатировал (cursive повторяет поведение cider) так и правильно ) но внутри команды могут быть какие-то другие договоренности, конечно
ну тогда наверное есть смысл это брать за основу https://github.com/bbatsov/clojure-style-guide
@prepor а ты делад шаблоный проект для ваших сервисов - было бы интересно полазать по нему
@asolovyov: Выложили твой доклад, как всегда очень живо и интересно. Я вот сколько проектов на clj/cljs вижу - везде своя архитектура и либы. Это хорошо, что есть выбор, я думал в основном на Om все пишут. Может как-нибудь на митап придешь и расскажешь в деталях для кложурианцев?
Кстати, вот ссылка http://www.youtube.com/watch?v=WssdWSbAPKE
@abtv: ну, слушай, om/rum - разница не супер-большая. На мой взгляд, на om пишут в основном те, кто только начинают с этим возиться, потому что Нолен всë-таки самая заметная величина в мире кложуры, но он прямо сложный внутри, и код выходит не очень приятный, поэтому я rum юзаю. Но разница... ну это почти фигня, они обëртки вокруг реакта, в rum повторить om несложно, етц. С архитектурой... ну так в жс точно так же, каждый сам себе строит, все эти рефлюксы/редьюксы, все дела. А на "митап придëшь" это вот эти штуки по понедельникам? Если да, то я б отложил до запуска этой штуки уже, чтоб я мог может цифрами или хоть ощущениями поделиться.
@asolovyov: а давай действительно тебе посвятим следующий hangout?
я не уверен, что я готов, у меня на работе сча несколько напряг и я дома чуточку подбитый обычно )
ну в общем давай не так, я всë равно хочу всю эту бодягу скоро уже запускать, а то не будет времени
Тогда давайте следующую встречу посвятим средам разработки - в этот понедельник у меня инет вырубили 😞
Давайте, а я, как ни странно, попробовал spacemacs и вернулся на Idea, пока не осилил. У меня как-то странно получилось с emacs - вроде маленько настроил под себя, ну минимально юзабельно (cider, paredit, ergoemacs, autocomplete, neotree), но вот взял spacemacs и там уже все совсем по-другому. чтобы настроить под себя уже нужно понимать, что там и как, это не голый emacs. Может расскажете как настроить это дело? Хочется понимать как это все работает и сама идея настройки редактора под себя очень классная, но вот сразу брать готовое как-то и сложно и не очень хочется. В первую очередь интересуют самые нужные packages и как это все настроить. Например, как организовать удобный поиск по всем файлам проекта? Найти, скажем, функцию по имени.
@nicola: покажешь типичный workflow на митапе? И есть ли возможность как-то подсвечивать байндинги при этом?
clj-refactor умеет находить использования с большим пониманием происходящего по-идее https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-find-usages
что хорошего добавить в dotspacemacs-configuration-layers кроме clojure ? Также не получилось заставить spacemacs сохранять desktop
(desktop-save-mode 1) не завелся
а как бы сделать так, чтобы держать список названий буферов перед глазами? по-моему в этом смысле табы очень удобны. или просто надо привыкнуть к list-buffers (c-x c-b)?