Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Полезные советы по автоматизации малого бизнеса: Visual Foxpro как среда для визуальной разработки


Visual FoxPro как среда визуальной разработки


В первой части сериала о VFP расссматривались возможности FoxPro как современной и довольно быстрой СУБД.

По здравому размышлению, мне есть что добавить к опубликованному. Совет первый, ворованный. Очень давно, еще до прошлого кризиса :), я имел удовольствие эксплуатировать написанную тогда еще на FoxPro для DOS систему, моделировавшую принцип работы SQL-сервера. А именно: новые данные АБС, введенные операционистами, сохранялись в виде новых же самостоятельных табличек (неважно, в файлах или в базе данных, важно, что процесс сохранения не затрагивал данные “большой” базы). Это имело физический смысл и называлось “пачка платежек”.

На специально выделенном компьютере в цикле запускалась процедура проводки вновь введенных (или присланных из филиала) пачек. Таким образом, появлялась возможность а) без проблем реализовать/смоделировать все необходимые блокировки таблиц; б) существенно ускорить работу базы и в) существенно повысить надежность системы в целом.

Мораль здесь простая: разработчики избежали необходимости в приобретении (для большого банка - в массовом приобретении) в те времена нереально дорогого программного обеспечения и заодно необходимости в использовании сетевого оборудования стандарта более быстрого, чем 10Base2.

Однако, для больших и нагруженных систем я не посоветую FoxPro - не потому. что выбор архитектуры неверен. Потому, что попросту глючит. Я наблюдал глюк такой: при объединении довольно больших выборок некоторые данные обнулялись или округлялись, и никто не сумел понять, в чем причина. Даже и не помню, нашлась ли альтернатива запросам с union, но что это было медленнее, это уж точно.

Другой фичей (?) FoxPro является выбор формата вычисляемого столбца выборки по первому выбранному значению. Если потом попадутся более длинные или просто большие значения - пиши пропало.

Обе фичи очень неприятны. А еще неприятнее процесс их обнаружения, особенно в системах учета.

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

Некоторые неприятные моменты есть у VFP и в плане визуального проектирования интерфейсов.

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

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

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

Скажете, азбучные истины? Угу. Только для тех, кто уже наступал на эти грабли.

Еще по теме


В избранное