2010-02-09

metaclass: (Default)
2010-02-09 09:46 am

Опердень и функциональные зависимости

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

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

С другой стороны, документы, для которых используются формулы, меняются и вместе с ними меняются формулы. Дублировать для каждой версии документа формулы не хочется, а хранить их в виде diff-lists в базе данных я реально двинусь головой, там и так база выглядит как плод свального греха всех нормальных форм БД с компилятором хаскеля.

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

Я пытался продумать коньцепцию реализации этого в виде, одновременно понятном мозгу (формулы) и хранимом в виде реляционной таблицы(чтобы запросами видеть зависимости сразу), чуть не сошел с ума, а потом меня как обычно отвлекли и я забил :)
metaclass: (Default)
2010-02-09 09:00 pm

Мрак

Проверял обработчик исключений в WPF.
Глубина стека - 78 вызовов. Одно окно, исключение в обработчике ComboBox.
По-моему, это ужасно.