metaclass: (Default)
[personal profile] metaclass
Макрос 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? :)

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

Date: 2013-01-17 06:37 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Нужно всегда выносить непарную скобку на новую строчку.
(  abc
   (def)
   g
   )

всегда лучше "традиционного"
Правда, я за скобкой ещё и комментарий ставлю, к чему она относится, чтобы вверх-вниз не бегать

Date: 2013-01-17 08:21 pm (UTC)
From: [identity profile] theiced.livejournal.com
за такое вырывать яйца

Date: 2013-01-17 09:09 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Насколько помню, первыми на эшафот стоят создатели С. Вот кто совсем ничего не понимал в программировании...

Не, я, конечно, могу прочитать лекцию на часик, что стоит за подобными вещами и из-за каких исторических тормозов они сейчас не в тренде. Но нафиг мне это надо.

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

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

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

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

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

Date: 2013-01-17 09:31 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я так выносил, пока редактор с более-менее адекватной подсветкой скобок не попался под руки.
Но вообще отдельная строка для закрывающей скобки часто удобнее (и комментарии ставить проще и копироваьт строки.

Date: 2013-01-17 09:45 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Редактор не спасает в том случае, когда в результате изменения внутри цельность нарушается. И он не видит две парные ошибки.

Date: 2013-01-17 09:49 pm (UTC)
From: [identity profile] theiced.livejournal.com
paredit нужен - тогда таких ошибок не возникает

Date: 2013-01-17 09:59 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Мозги не заменит

Date: 2013-01-18 05:05 am (UTC)
From: [identity profile] blackyblack.livejournal.com
От парных ошибок не спасёт. Можно случайно или намеренно изменить одним нажатием уровень вложенности и после этого придётся считать скобочки...

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2025 10:56 pm
Powered by Dreamwidth Studios