metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-17 04:59 pm
Entry tags:

Немножко динамической типизации и кложури

Макрос with-db-comment выполняет указанную функцию с параметрами в контексте коннект+транзакция, с логом комментария к транзакции в БД.
dump-seq-debug скармливает последовательность в log4j для отладки.

вот такое падает с NPE:
(with-db-comment "(get-subaccounts 20)"
(dump-seq-debug (get-subaccounts "20")))

вот такое работает:
(with-db-comment "(get-subaccounts 20)"
dump-seq-debug (get-subaccounts "20"))

Можно ли увидеть разницу с первого раза и понять, откуда там NPE? :)

Вот эта содомия с лишними или пропущенными скобками, не обнаруживаемыми компилятором работу с кложурелиспами делает немного неудобной.
И практически не пригодной для осмысленного использования людьми без встроенной типовыводилки в голове.

[identity profile] theiced.livejournal.com 2013-01-17 09:22 pm (UTC)(link)
такие скобки мешают читать код
точка

[identity profile] vit-r.livejournal.com 2013-01-17 09:23 pm (UTC)(link)
Увы, но код не читают. Это не книжка. Там всё на порядок интереснее.

[identity profile] theiced.livejournal.com 2013-01-17 09:26 pm (UTC)(link)
это ортуреги код не читают
а я читаю

[identity profile] metaclass.livejournal.com 2013-01-17 09:29 pm (UTC)(link)
Кстати, код обычно воспринимается как дерево, не как последовательный текст.
Ты ж не читаешь книгу - сначала начало параграфа, потом конец.
А код читать (и писать) лучше именно так.

[identity profile] vit-r.livejournal.com 2013-01-17 09:30 pm (UTC)(link)
Значит, открытия ещё впереди