На некотором уровне это - инстинктивное чувство
, "Действительно ли я уверен, что тесты поймают все проблемы, о которых я могу думать теперь?"
На другом уровне, Вы уже получили ряд требований пользователя или системных требований, которые должны быть встречены, таким образом, Вы могли остановиться там.
, В то время как я действительно использую покрытие кода, чтобы сказать мне, если я не следовал за своим процессом TDD и найти код, который может быть удален, я не считал бы покрытие кода как полезный способ знать, когда остановиться. Ваше покрытие кода могло составить 100%, но если Вы забыли включать требование, ну, в общем, тогда, Вы действительно не сделаны, Вы.
, Возможно, неправильное представление о TDD состоит в том, что необходимо знать все впереди тестировать. Это дезинформировано, потому что тесты, которые следуют из процесса TDD, похожи на пройденный путь. Вы знаете то, что было протестировано в прошлом и может вести Вас до степени, но она не скажет Вам, что сделать затем.
я думаю, что TDD мог считаться эволюционным процессом. Таким образом, Вы запускаете со своего начального дизайна, и это - набор тестов. Поскольку Ваш код разбит в производстве, Вы добавляете больше тестов и кода, который делает те тесты передачей. Каждый раз, когда Вы добавляете тест здесь и тест там, Вы также делаете TDD, и он не стоит всего так очень. Вы не знали, что те случаи существовали, когда Вы записали свой первый набор тестов, но Вы получили знание теперь и можете проверить на те проблемы при нажатии кнопки. Это - великая держава TDD и одна причина, почему я защищаю для него так.
Если вы не женаты на Python, попробуйте Lua . Первоначально он был разработан для конфигурации.
Вы можете использовать чистое решение на Python, например ConfigObj и затем просто используйте CPython API для запроса настроек. Это предполагает, что ваше приложение встраивает Python. Если это не так, и если вы все равно поставляете Python, возможно, имеет смысл просто встроить его. Ваш C .exe не станет намного больше, если это динамическая ссылка, и в вашем распоряжении будет вся гибкость Python.
Несмотря на то, что технари ненавидят его, и Microsoft отрицают его, Файлы INI на самом деле довольно популярны среди пользователей, поскольку их легко понимать и редактировать. Для них также очень просто написать парсеры, если ваши библиотеки еще не поддерживают их.