Добрый день, гуру!
Собственно вопрос в заголовке.
Просто так давно уже не занимался такими тривиальными задачами, забыл напрочь все
Помнится в С такая возможность есть, а вот в випере или в делфях хотяб - не помню
Можно ли получить список аргументов функции и их значения?
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Можно ли получить список аргументов функции и их значения?
А как в C получить список аргументов? Помнится, там есть макросы va_list и прочие, но с их помощью даже количество аргументов нельзя узнать. Не говоря уж о типе.
-
- топ-софт
- Сообщения: 197
- Зарегистрирован: Чт, 06/09/2007 17:38
- Имя Фамилия: Вадим Володько
- Откуда: ТопСофт
- Контактная информация:
Re: Можно ли получить список аргументов функции и их значения?
ну и скромный до наивности вопрос - зачем это надо?
по нашим внутренним стандартам ни одна функция не должна менять количество и тип своих параметров
если такое потребовалось - должна быть создана новая функция, а старая - продолжить работать в старом режиме (либо в крайнем случае выводить предупреждающее сообщение о необходимости использовать такую-то новую функцию - это тогда, когда она сама не в курсе, откуда взять, к примеру, новый параметр, являющийся значением обязательной аналитики)
по нашим внутренним стандартам ни одна функция не должна менять количество и тип своих параметров
если такое потребовалось - должна быть создана новая функция, а старая - продолжить работать в старом режиме (либо в крайнем случае выводить предупреждающее сообщение о необходимости использовать такую-то новую функцию - это тогда, когда она сама не в курсе, откуда взять, к примеру, новый параметр, являющийся значением обязательной аналитики)
-
- рег.отделение
- Сообщения: 64
- Зарегистрирован: Вт, 03/03/2009 07:53
- Имя Фамилия: Николай Воронцов
- Откуда: Галактика-Урал
- Контактная информация:
Re: Можно ли получить список аргументов функции и их значения?
Это все понятно, Вы немного зашли вперед, углубились, так сказать в объектную модель
Если просто - решили таки хоть как - то реализовать систему ведения логов в наших доработках, чтобы пользователи (если появляются какие - то замечания или дополнения) не объясняли нам как и что не работает, а объяснили в общем что не так и прислали нам файл с логами.
Логи решили сделать в xml формате, написали требование, щас реализуем.
Ну и по вопросу: есть функция, которая, например называется lxml, и создает логи в формате xml (это сильно упрощенно). Решили сделать так, чтобы нам самим было удобно, т.е. одна функция на все случаи. В функции передаются определенные параметры, ну так вот, хотелось бы, чтобы эти параметры передавались не как стринги, опять же чтобы меньше писать, а как обычные переменные.
Получается, что эта функция может иметь разное количество параметров.
С одной стороны мы это уже реализовали, т.е. задаем значения по умолчанию в функции lxml, и те параметры которые не заданы не используем, однако хотелось бы еще упростить эту систему и не передавать в функцию lxml название фукнции, в котрой она была вызвана (это нужно для структуры xml файла).
Вот, собственно, и все, хотя получилось, наверно, не очень понятно.
Ну и если есть какие - нибудь варианты реализации этой задачи, пришлите пожалуйста ссылочку на инфу, о чем буду премного благодарен.
А если можно, может кто поделится, как вообще реализуется в разных организациях выявление ошибок.
Сами мы пытались через отладку випера делать, да тормозит он больно и настроек много делать нужно на каждый интерфейс, да еще и работает через раз. Плюс, не понятно, что же делал пользователь с интерфейсом, когда ошибку получил, поэтому остановились на логах. Сначала были текстовые логи, но когда они превысили мыслимые размеры и в них разбираться сложно стало, решили структурировать логи, а что может быть лучше xml, вот и поехала эта доработка.
Если просто - решили таки хоть как - то реализовать систему ведения логов в наших доработках, чтобы пользователи (если появляются какие - то замечания или дополнения) не объясняли нам как и что не работает, а объяснили в общем что не так и прислали нам файл с логами.
Логи решили сделать в xml формате, написали требование, щас реализуем.
Ну и по вопросу: есть функция, которая, например называется lxml, и создает логи в формате xml (это сильно упрощенно). Решили сделать так, чтобы нам самим было удобно, т.е. одна функция на все случаи. В функции передаются определенные параметры, ну так вот, хотелось бы, чтобы эти параметры передавались не как стринги, опять же чтобы меньше писать, а как обычные переменные.
Получается, что эта функция может иметь разное количество параметров.
С одной стороны мы это уже реализовали, т.е. задаем значения по умолчанию в функции lxml, и те параметры которые не заданы не используем, однако хотелось бы еще упростить эту систему и не передавать в функцию lxml название фукнции, в котрой она была вызвана (это нужно для структуры xml файла).
Вот, собственно, и все, хотя получилось, наверно, не очень понятно.
Ну и если есть какие - нибудь варианты реализации этой задачи, пришлите пожалуйста ссылочку на инфу, о чем буду премного благодарен.
А если можно, может кто поделится, как вообще реализуется в разных организациях выявление ошибок.
Сами мы пытались через отладку випера делать, да тормозит он больно и настроек много делать нужно на каждый интерфейс, да еще и работает через раз. Плюс, не понятно, что же делал пользователь с интерфейсом, когда ошибку получил, поэтому остановились на логах. Сначала были текстовые логи, но когда они превысили мыслимые размеры и в них разбираться сложно стало, решили структурировать логи, а что может быть лучше xml, вот и поехала эта доработка.
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Re: Можно ли получить список аргументов функции и их значения?
Для реализации логов, лучше того что вы сами напишете будут специализированные библиотеки. Например Smart Inspect - http://www.gurock.com/smartinspect/
Возможно скоро это, или нечто подобное, будет прикручено к Галактике.
Возможно скоро это, или нечто подобное, будет прикручено к Галактике.
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Можно ли получить список аргументов функции и их значения?
Ничего умнее использования #__file__ и #__line__ из существующих встроенных средств предложить не могу.