Есть несколько способов подойти к такой ситуации.
Условная компиляция
Иногда я использую существующий символ DEBUG
или создаю свой собственный и выполняю такие действия для замены конфигурации на основе среды:
#if EXPERIMENT
string myVar = "experimental value";
// or just look up a different envvar
#else
string myVar = Environment.GetEnvironmentVariable("myvar");
Обычные сборки выпуска / отладки не будут содержать его, если вы больше не объявите EXPERIMENT
в настройках проекта, и его достаточно легко найти и отредактировать до нормального состояния.
Временные патчи
Однако этот метод я предпочитаю для экспериментальной работы. Условная компиляция будет проще, если вы никогда не работали с исправлениями, но очистка для удаления временных изменений также занимает больше времени.
Я включаю расширение mq
в Mercurial и создаю новый патч для большей части экспериментальной работы. Я также создаю патч поверх этого патча для любых одноразовых изменений, таких как жесткое кодирование пути к файлу или значения конфигурации для проверки чего-либо.
HgInit.com не идет на патчи, но я считаю, что Hg Book делает. При внесении изменений вы должны быть осторожны с тем, какой патч является самым применяемым патчем, и не забудьте hg qrefresh
обновить его.