Entry tags:
Бизнес-логика: Структура данных vs код
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Самое ужасное там - это когда структуре данных отказывают в праве считаться частью бизнес-логики, упирая на то, что "надо же абстрагироваться от хранилища".
При этом, даже если добится этого абстрагирования - то все равно структура данных будет в памяти, в виде графа объектов, будет нужен дополнительный код по интеграции этой структуры с тем, что живет в БД, и никуда мы от структуры данных не денемся. А уж про то, можно ли считать констрейнты (в т.ч. и сложные, выражаемые только в виде триггеров) частью типов данных - можно дискутировать вечно. По крайней мере, check и foreign key constraints это точно часть типа данных, в случае FK - это еще и зависимые типы, реализованные в понятном виде. В случае unique constraints - уже сложнее, но по идее, тоже зависимый тип (зависит от данных таблицы, в которой он используется).
Так вот, я считаю, что структура данных для бизнес-логики гораздо более важна, чем собственно код. Если вам скажут, что теперь операция с кодом "777029" не облагается НДС - вам всего лишь нужно добавить веточку в паттерн-матчинг. Структура программы от этого не изменится и коллегам вы билд нахрен не сломаете.
А если окажется, что для того, чтобы узнать, как обрабатывается операция, вам нужно заглянуть в настройки в СУБД - то внезапно, в гламурно-причесанной функционально-иммутабельной функции проверки условий появляется грязная монада IO, провайдеры коннектов к БД, автоматическое управление транзакциями, пул коннектов, кэши и прочая черняга и структура данных (к коей я отношу так же и сигнатуры функций) меняется весьма заметно. Альтернативный вариант - оставить функцию чистой, но добавить к ней еще параметров, передаваемых извне, проверить код коллег, записать в трекер и рассказать, что теперь без передачи в нее оккультного набора параметров функция больше не заработает.
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
если кому-то внезапно требуется базу 1с на oracle перенести у заказчика, то амеба считает этого человека 1сником.
я как-то вот даже теряюсь немного от такого мозгового разброда. то ли одноэсники подросли, то ли амебы совсем амебнулись..
no subject