metaclass: (Default)
[personal profile] metaclass
[livejournal.com profile] plumqqz доставил нам очередную ссылку на ужасы обсуждения БД на хабре. Сама статья еще куда ни шло, за исключением представления constraints как мега-фичи (вроде это основа основ любой БД). В комментариях, само собой, дикий ад, трэш, угар, содомия, коровники, заборы, катаформизм хабракармы и голые бизнес-аналитекши.

Самое ужасное там - это когда структуре данных отказывают в праве считаться частью бизнес-логики, упирая на то, что "надо же абстрагироваться от хранилища".
При этом, даже если добится этого абстрагирования - то все равно структура данных будет в памяти, в виде графа объектов, будет нужен дополнительный код по интеграции этой структуры с тем, что живет в БД, и никуда мы от структуры данных не денемся. А уж про то, можно ли считать констрейнты (в т.ч. и сложные, выражаемые только в виде триггеров) частью типов данных - можно дискутировать вечно. По крайней мере, check и foreign key constraints это точно часть типа данных, в случае FK - это еще и зависимые типы, реализованные в понятном виде. В случае unique constraints - уже сложнее, но по идее, тоже зависимый тип (зависит от данных таблицы, в которой он используется).

Так вот, я считаю, что структура данных для бизнес-логики гораздо более важна, чем собственно код. Если вам скажут, что теперь операция с кодом "777029" не облагается НДС - вам всего лишь нужно добавить веточку в паттерн-матчинг. Структура программы от этого не изменится и коллегам вы билд нахрен не сломаете.
А если окажется, что для того, чтобы узнать, как обрабатывается операция, вам нужно заглянуть в настройки в СУБД - то внезапно, в гламурно-причесанной функционально-иммутабельной функции проверки условий появляется грязная монада IO, провайдеры коннектов к БД, автоматическое управление транзакциями, пул коннектов, кэши и прочая черняга и структура данных (к коей я отношу так же и сигнатуры функций) меняется весьма заметно. Альтернативный вариант - оставить функцию чистой, но добавить к ней еще параметров, передаваемых извне, проверить код коллег, записать в трекер и рассказать, что теперь без передачи в нее оккультного набора параметров функция больше не заработает.

Date: 2012-10-20 10:05 pm (UTC)
From: [identity profile] theiced.livejournal.com
опять какие то гомосячьи фантазии. леееесом.

Date: 2012-10-20 10:11 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
уважаемый, Вы из Эстооонии?
говорят, мальчик Пыыйсд от восторга проебал подаренное мороженное, после чего неделю плакал в вафельный рожок.

про ебаццо в сракатан - это, кстати, Ваша тема.

Date: 2012-10-20 10:17 pm (UTC)
From: [identity profile] theiced.livejournal.com
с 1сниками не разговариваю, от этого тупеют так же как от хабра. проследуйте нахуй. /ignor

Date: 2012-10-20 10:24 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
уважаемый айсед, будьте любезны писать иносраные слова правильно, - например, вместо "ignor" - "ignore"..
Вашу степень отупения и озалупления на окружающую среду я уже примерно представляю.

Date: 2012-10-20 10:29 pm (UTC)
From: [identity profile] theiced.livejournal.com
ребе М, у вас в комментах завелась говорящая какашка. уберитесь пожалуйса, некультурно.

Date: 2012-10-20 10:34 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
акуеть. айсед просит за ним убирать.
дайте две, плз..

Date: 2012-10-20 10:42 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Можно, впрочем, комменты заморозить, во избежание излишних взаимных оскорблений. :)

Date: 2012-10-20 10:44 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
по мне так окай вообще. не я же от социума отбрыкиваюсь..)

Date: 2012-10-20 10:34 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ребе, мне придется банить тогда и вас и максдз и забиватора и артурега и вообще всех кто невежливо разговаривает, а я не хочу никого банить, мне тогда не с кем срачи будет разводить :)

Date: 2012-10-20 10:52 pm (UTC)
From: [identity profile] theiced.livejournal.com
причём тут невежливо разговаривает. оно 1сник, это просто противо видеть.

Date: 2012-10-20 10:57 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
за 1сника можно и по личику получить. между прочим.
- выражения-то выбирайте.
Edited Date: 2012-10-20 10:57 pm (UTC)

Date: 2012-10-20 11:04 pm (UTC)
From: [identity profile] sgalitsky.livejournal.com
тащемта интересно наблюдать за мыслительным процессом у амеб.
если кому-то внезапно требуется базу 1с на oracle перенести у заказчика, то амеба считает этого человека 1сником.

я как-то вот даже теряюсь немного от такого мозгового разброда. то ли одноэсники подросли, то ли амебы совсем амебнулись..
Edited Date: 2012-10-20 11:17 pm (UTC)

Date: 2012-10-20 10:38 pm (UTC)
From: [identity profile] sgalitsky.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 Sep. 10th, 2025 10:45 pm
Powered by Dreamwidth Studios