powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Постоянно меняется функция, используемая в запросах
10 сообщений из 10, страница 1 из 1
Постоянно меняется функция, используемая в запросах
    #32480562
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая проблема. В результате изменений требований постоянно меняется функция, используемая в запросах. Можно сказать, что это - самая изменчивая часть программы. Функция используется в 8 местах. Меняется не только "внутренность" функции, но и аргументы ее вызова, поэтому приходится менять каждый запрос, в котором она используется.
Какие есть методы борьбы с этим злом?
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32480716
2 Varan
Какие есть методы борьбы с этим злом? Пойти и по-товарищески поговорить с постановщиком по поводу "постоянного изменения требований"!
К сожалению, не знаю того инструмента которым Вы пользуетесь, но самое лучшее решение было бы сначала формировать запрос в виде текстовой строки, а затем передавать его на выполнение.

В этом случае можно было бы сохранить в переменной строку вида: "функция(" ( например: func="функция(" ), а при формировании запроса сначала подставлять нужные аргументы: func1=func+"arguments)", затем компоновать текст запроса: text_select="select ... from ... where ..."+func1+" into ... ", а затем отправлять на исполнение: типа ExecSQL(text_select). Примерно так.
В этом случае надо будет менять только в тех местах, где стоит строка: func1=func+"arguments)". Естественно, что знак "+" обозначает объединение (слияние) двух строк в одну.
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32480729
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может параметры передавть как xml?
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32480744
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поможет только декомпозиция)
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32481384
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С, в принципе, можно попробовать такие супердинамические запросы. Только меня смущает, что их будет сложно отлаживать.
Есть еще вариант сделать эту расчетный столбец хранимым, тогда менять нужно будет в одном месте - при расчете.
snake - куда передавать?
gardenman - А что это такое?
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32481508
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
декомпозиция?...- расбиение одной крупной задачи на множество мелких..
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32482038
Фотография Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, параметры для функции хранить в отделбной таблице,
из функции обращаться к ней. При добавлении нового параметра, добавляется новая строка в таблице и все.

Вася Васяткин
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32482041
Фотография Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак вариант, параметры для функции хранить в отделбной таблице,
из функции обращаться к ней. При добавлении нового параметра, добавляется новая строка в таблице и все.

Здесь правда есть свои грабли, надо заполнять эту табличку из разных мест программы, ну вообщем это тоько идея...
Вася Васяткин
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32482157
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно пойти для начала по пути ООП.
Объявить версионность функции и посылать запросы к ней с использованием номера версии. Функция естессно должна хранить обработки для различных версий.
Далее периодически при смене функционала функции оговариваете с руководством время и место работ по созданию обновлений системы для работы с новой версией функции.
...
Рейтинг: 0 / 0
Постоянно меняется функция, используемая в запросах
    #32482610
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quark
Мне этот вариант нравится. Когда будет возможность работать с OO - языком в запросах, обязательно этим воспользуюсь, буду просто перегружать функции. Это ведь имеется в виду?
Но вот с тем, что придется в запросе создавать столбцы под "расширенный" вариант функции с возросшим числом аргументов, видимо бороться невозможно.
Вася ,
тот вариант мне нравится меньше, поскольку функция должна все получать для работы на вызове, а не лезть куда-то. Потом такую программу сложно разглючивать. Но если прижмет, придется наплевать на принципы...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Постоянно меняется функция, используемая в запросах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]