Немножко динамической типизации и кложури
Макрос 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? :)
Вот эта содомия с лишними или пропущенными скобками, не обнаруживаемыми компилятором работу с кложурелиспами делает немного неудобной.
И практически не пригодной для осмысленного использования людьми без встроенной типовыводилки в голове.
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? :)
Вот эта содомия с лишними или пропущенными скобками, не обнаруживаемыми компилятором работу с кложурелиспами делает немного неудобной.
И практически не пригодной для осмысленного использования людьми без встроенной типовыводилки в голове.
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
(Anonymous) 2013-01-17 02:43 pm (UTC)(link)[code]
dump-seq-debug (get-subaccounts "20"))
[/code]
при форматировании получиться никак не может.
то, что она некорректна, видно при первом же беглом взгляде на код.
в реальном коде может быть только такое:
[code]
(with-db-comment "(get-subaccounts 20)"
(dump-seq-debug (get-subaccounts "20")))
(with-db-comment "(get-subaccounts 20)"
dump-seq-debug
(get-subaccounts "20"))
[/code]
и тут разница сразу понятна.
с правильным форматированием пропустить скобки сбалансированным образом просто нельзя, а несбалансированные еще ридер подсветит.
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(Anonymous) - 2013-01-18 12:27 (UTC) - Expand(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
no subject
no subject
всегда лучше "традиционного"
Правда, я за скобкой ещё и комментарий ставлю, к чему она относится, чтобы вверх-вниз не бегать
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)