Я работал над проектами, которые имеют очень сложную конфигурацию XML, и одна проблема, с которой сталкиваются, заключается в поддержании внутренней согласованности XML.
В данном случае я имею в виду не строгую согласованность схемы XML, а скорее отношение более высокого уровня между используемыми узлами. Большинство проблем было вызвано неявной связью между информацией, закодированной в XML, и неявной связью этой информации с базой кода. Примеры могут быть:
- Данные узла XML неявно связаны с перечислениями в коде
- Бизнес-объекты в той же конфигурации, которые связаны (в том смысле, что они обмениваются информацией, которая должна быть согласованной) без какой-либо явной связи между ними
- Код в XML для компиляции и анализа во время выполнения
Меня поразило, что а) это может стать практикой увеличения частоты и б) что в некоторых случаях мы неявно создаем новый язык кодирования, который не проверяется во время компиляции - и на самом деле вообще имеет мало проверок он запущен.
Кто-нибудь еще сталкивался с подобными сценариями, и есть ли какие-либо инструменты или подходы, которые делают проблему более разрешимой? Я хотел бы привести несколько общих примеров, не зависящих от технологий - мой собственный опыт работы с C # и с config для проприетарных систем.
Примечание: хотя у меня есть ответ на этот вопрос ниже, я не собираюсь принимать свой окончательный ответ.