Несколько наборов входных параметров
|
|
cec2000 | Дата: Понедельник, 05.09.2022, 13:44 | Сообщение # 1 |
Майор
Группа: Пользователи
Сообщений: 94
Репутация: 114
Статус: Оффлайн
| При работе над алгоритмами и запросами есть постоянная потребность проверять их работу на разных наборах входных параметров. Сейчас задача решается копированием узла Консоли и вводом в копию новых значений входящих параметров. Всё бы ничего, но вот при изменении: (а) текста алгоритма или запроса приходится копипастить это изменение по всем узлам (б) и если что-то меняется в списке входных параметров, это тоже приходится тиражировать вручную. Когда вариантов становится много, всё это занимает время.
Очень помогло бы наличие возможности иметь наборы параметров с одинаковым составом, но разными значениями для одного запроса/алгоритма и использовать их при запуске алгоритма/запроса. Визуально это может выглядеть как поле со списком номеров вариантов рядом с таблицей параметров. Выбор строки в списке - показ значений её параметров. Существующий визуальный аналог - это список пакетов в пакетном запросе слева от таблицы результатов этого пакетного запроса. Хорошо бы автоматически размножать добавление/удаление параметра по всем вариантам.
Если реализовать программные вход и выход для работы с наборами параметров (через таблицы значений), то это можно будет использовать также и для автоматизации регрессионного тестирования.
|
|
| |
tormozit | Дата: Понедельник, 05.09.2022, 19:46 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Польза понятна. Создал задачу https://www.hostedredmine.com/issues/949382
|
|
| |
tormozit | Дата: Вторник, 06.09.2022, 08:43 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Каким образом предполагается анализировать результаты выполнения алгоритмов с этими наборами параметров? Сколько предполагается таких наборов в среднем для одного алгоритма?
|
|
| |
cec2000 | Дата: Вторник, 06.09.2022, 11:14 | Сообщение # 4 |
Майор
Группа: Пользователи
Сообщений: 94
Репутация: 114
Статус: Оффлайн
| Цитата Каким образом предполагается анализировать результаты выполнения алгоритмов с этими наборами параметров? Результат в виде таблицы значений со входными и выходными параметрами закроет все потребности: для работы с ТЗ в ИР есть куча инструментов.
Цитата Сколько предполагается таких наборов в среднем для одного алгоритма? Вручную создавать наборы трудоёмко, тут речь о единицах. А вот при возможности автоматизации создания наборов - сотню-другую вариантов накидать в алгоритм не проблема. По сути у меня сейчас примерно так и происходит, только в виде отдельных файлов с одинаковым алгоритмом/запросом и разными входными параметрами. Дальше по времени сообщения об ошибке (или другим признакам) я нахожу тот файл, который даст воспроизвести событие, и разбираюсь с ним.
Дело в том, что когда появляется ошибка, очень часто разбираться надо с ней не рядом со строкой кода, на которую указывает сообщение (там уже поздно пить боржоми), а смотреть на исходные данные и алгоритмы их обработки, которые в итоге привели к ошибке. Для этого я включаю режим отладки (с заранее расставленными по коду вызовами сервисов ИР), в ходе которого ИР создаёт нужные мне файлы с отладочной инфой. Запускаю то, что должно воспроизвести ошибку. Если проблема воспроизвелась, у меня есть всё, что нужно для относительно быстрого автономного воспроизведения ошибки, локализации и разбора её причины.
Особенно это помогает с фоновыми заданиями и длительными обработками.
Вот было бы круто в ИР уметь программно создавать такие наборы входных параметров для одного алгоритма/запроса, чтобы далее разбираться с этим в "одном флаконе". Это сэкономит кучу времени на оценку последствий внесения изменений в код для разных наборов входных параметров.
Кстати, из консоли запросов результат можно передать на обработку в консоль кода. Там результат запроса передается в виде одного параметра с ТЗ. Можно было бы дать пользователю выбор варианта передачи результата запроса в консоль кода - или как один параметр с ТЗ (как сейчас) или как ТЗ с набором параметров.
|
|
| |
tormozit | Дата: Среда, 07.09.2022, 07:37 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Хотелось бы увидеть примеры таких наборов параметров (таблицы) целиком.
|
|
| |
tormozit | Дата: Воскресенье, 18.09.2022, 21:32 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Реализовано в 6.45.1
|
|
| |
cec2000 | Дата: Вторник, 20.09.2022, 10:59 | Сообщение # 7 |
Майор
Группа: Пользователи
Сообщений: 94
Репутация: 114
Статус: Оффлайн
| Цитата tormozit ( ) Хотелось бы увидеть примеры таких наборов параметров (таблицы) целиком. Извини за паузу. В каком виде прислать? Скрины нескольких консолей или как?
Цитата tormozit ( ) Реализовано в 6.45.1 На форме появилась кнопка с подменю для операций с Наборами.
1) Если правильно понимаю, то "Выполнить таблицу наборов" предназначена как раз для создания наборов. Если так, то в открывшейся форме сильно не хватает строк(-и) с текущими значениями параметров. Чтобы можно было вручную размножить строки и задать значения в нужных полях. Типизация колонок таблицы тоже не помешала бы. Все типы есть в исходных параметрах. И название этой команды сделать бы более понятным. Например, "Настроить наборы в таблице" или "Настроить таблицу наборов".
2) В колонке "Варианты" при начале редактирования также кажется не логичным отсутствие строки с текущим значением как первого из вариантов.
3) Не очень понятно практическое назначение команды "Выполнить комбинации вариантов". Может быть кому-то это и пригодится. Но вот у меня все входные параметры логически связаны между собой. И размножать варианты полным соединением не понятно зачем. Это на мой субъективный взгляд. Если мне понадобится сделать что-то подобное, я напишу нужный мне запрос и заполню таблицу параметров его результатом.
4) Ещё не смог понять, как "Выполнить" алгоритм или для всех вариантов набора или для одного нужного мне варианта
Сообщение отредактировал cec2000 - Вторник, 20.09.2022, 12:10 |
|
| |
tormozit | Дата: Среда, 21.09.2022, 20:43 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Цитата cec2000 ( ) Если правильно понимаю, то "Выполнить таблицу наборов" предназначена как раз для создания наборов Нет. Она предназначена для выполнения алгоритма по таблице наборов параметров. Об этом сообщается в пояснении к кнопке, которое отображается в строке состояния https://www.hostedredmine.com/issues/949382 Хранить наборы параметров в файле консоли я не планирую. Подразумевается что таблица наборов - обычная таблица значений, хранимая отдельно и редактируемая стандартным редактором.
Цитата cec2000 ( ) В колонке "Варианты" при начале редактирования также кажется не логичным отсутствие строки с текущим значением как первого из вариантов. Согласен. Сделаю.
Цитата cec2000 ( ) как "Выполнить" алгоритм или для всех вариантов набора или для одного нужного мне варианта У набора нет вариантов. Варианты значений есть у параметра. Выполнять их комбинации можно все или выборочно, если почитать опять же пояснение к кнопке или описание фичи https://www.hostedredmine.com/issues/949443 Для загрузки набора параметров в консоль будет отдельная команда https://www.hostedredmine.com/issues/950481
|
|
| |
cec2000 | Дата: Четверг, 22.09.2022, 11:04 | Сообщение # 9 |
Майор
Группа: Пользователи
Сообщений: 94
Репутация: 114
Статус: Оффлайн
| Цитата tormozit ( ) Нет. Она предназначена для выполнения алгоритма по таблице наборов параметров. Такое размещение команды нарушает интуитивное назначение командных панелей: над таблицей параметров ожидаю увидеть команды для манипуляций с параметрами. А команды запуска вычислений ищу в панели над полем кода.
Сообщение отредактировал cec2000 - Четверг, 22.09.2022, 11:29 |
|
| |
tormozit | Дата: Четверг, 22.09.2022, 18:53 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Цитата cec2000 ( ) Такое размещение команды нарушает интуитивное назначение командных панелей Согласен. Но это побочный функционал. Поэтому он должен занимать минимальное место на форме. Поэтому я решил все его команды собирать в одно подменю.
|
|
| |
tormozit | Дата: Воскресенье, 25.09.2022, 20:46 | Сообщение # 11 |
Генералиссимус
Группа: Администраторы
Сообщений: 6510
Репутация: 173
Статус: Оффлайн
| Команды для загрузки/выгрузки набора параметров добавлены в 6.46
|
|
| |