Ответ
MoKo 19.10.2013 13:39
сколько одно из базовых свойств функционирования парсера
Да ладно, о чем вы. Какое базовое свойство? Поведение при повторном декларировании классов даже документировано не было.
И не уверен, что вообще существуют языки, в которых при повторном декларировании класс замещается новым, а не выдается ошибка.
Далее, не очень понимаю, как вы вообще пользуетесь этим поведением для тестирования.
Допустим есть директория production с файлами (и классами a,b,c). Вы решили протесировать новую версию класса b. Завели директрию testing, добавили ее в CLASS_PATH или явно воспользовались ^use[testing/b]. Загрузился класс b. А потом вы в какой-то момент сказали ^use[a], в котором в начале написано @USE b. Поскольку при use файл ищется вначале в текущей директории, а класс/файл a находится в production, ваша testing версия будет заменена на production. Да, наверное можно играя порядком @USE добиваться нужного результата, но это какая-то очень шаткая конструкция. Не говоря о том, что @auto класса b выполняется два раза, что само по себе может привести к трудноуловимым проблемам (у нас был такой случай).
Как бы наверное делал сам: в cgi/auto.p в CLASS_PATH добавлял папку production или testing в зависимости от условия (например если запрос
с IP адреса разработчика) и горя бы не знал. Успешно закончилось тестирование - mv production production.<date>; mv testing production.
- Parser 3.4.3 RC, MoKo 19.10.2013 02:02
- Ответ, Саян 21.10.2013 16:07
- Спасибо! (-), Ivan Sergeev 20.10.2013 21:58
- Ответ, G_Z [M] 20.10.2013 16:51
- Ответ, Misha v.3 [M] 20.10.2013 18:16
- Ответ, Maxx [M] 19.10.2013 03:21
- Ответ, Sumo [M] 19.10.2013 07:27 / 19.10.2013 07:33
- Ответ, Maxx [M] 19.10.2013 12:47
- Ответ, Sumo [M] 19.10.2013 19:41
- Ответ, MoKo 19.10.2013 13:39
- Ответ, MoKo 19.10.2013 04:12
- Ответ, Maxx [M] 19.10.2013 04:28 / 19.10.2013 04:28
- Ответ, MoKo 19.10.2013 04:43