Да, с базой vs. файловая система понятно - ключевой момент, действительно, описан, в пункте 5 :). В текущем проекте мы имеем весь описанный геморрой с базой по полной программе, но понятно заради чего: счёт записям идёт на десятки миллионов.
Мне довелось участвовать в двух родственных коммерческих проектах, где простенький DSL в итоге превращался в монстроидный недо-бейсик. Теоретически этого можно избежать, если с самого начала проектировать правильно. Практически, однако, мне ещё не встречалось ни одного коммерческого проекта, в котором бы хоть что-нибудь с самого начала было спроектировано правильно. Хочется верить, что мне просто не везло :).
В изначальном посте я как-то упустил фразу про среду разработки. VBA, конечно, был бы в вашем случае правильным решением при подходе: "Вот вам, дорогие заказчики, набор COM-серверов, которые вы можете пользовать в своих скриптах. Вот вам подробная документация с примерами на VBA". Если вы должны дать заказчику не только DSL, но и DS-IDE, то расклад получается совсем другой.
Спасибо за комментарии и за наводку на Scintilla. Поставил себе Notepad++, играюсь :)
> Да, с базой vs. файловая система понятно - ключевой момент, действительно, описан, в пункте 5 :). В текущем проекте мы имеем весь описанный геморрой с базой по полной программе, но понятно заради чего: счёт записям идёт на десятки миллионов.
Я не знаю вашего случая, но мне кажется, и в вашем случае жизнь станет немного легче, если не увлекаться нормализацией базы. То есть, хранить информацию, по которой не предвидится поиск, в текстовых полях, в виде XML, штоб нарушала нафиг первую нормальную форму. Индескные поля, по которым идет поиск, можно задавать отдельно параметрами хранимых процедур.
Мне довелось участвовать в двух родственных коммерческих проектах, где простенький DSL в итоге превращался в монстроидный недо-бейсик. Теоретически этого можно избежать, если с самого начала проектировать правильно. Практически, однако, мне ещё не встречалось ни одного коммерческого проекта, в котором бы хоть что-нибудь с самого начала было спроектировано правильно. Хочется верить, что мне просто не везло :).
В изначальном посте я как-то упустил фразу про среду разработки. VBA, конечно, был бы в вашем случае правильным решением при подходе: "Вот вам, дорогие заказчики, набор COM-серверов, которые вы можете пользовать в своих скриптах. Вот вам подробная документация с примерами на VBA". Если вы должны дать заказчику не только DSL, но и DS-IDE, то расклад получается совсем другой.
Спасибо за комментарии и за наводку на Scintilla. Поставил себе Notepad++, играюсь :)
Reply
Я не знаю вашего случая, но мне кажется, и в вашем случае жизнь станет немного легче, если не увлекаться нормализацией базы. То есть, хранить информацию, по которой не предвидится поиск, в текстовых полях, в виде XML, штоб нарушала нафиг первую нормальную форму. Индескные поля, по которым идет поиск, можно задавать отдельно параметрами хранимых процедур.
Reply
Leave a comment