Проверка строки сбалансировала круглые скобки

"Тупик" является реализацией интерфейса, который существует для обеспечения data/a какого-то ответа. Например:

  • список DataSet
  • Пользователей
  • Файл

Xml Обычно это было бы обеспечено другим сервисом (быть им веб-сервис, другое приложение, база данных), но для улучшения тестируемость из кода, результаты "фальсифицируются".

А главное преимущество этого - то, что он позволяет утверждениям быть сделанными в модульных тестах на основе ожидаемых данных. Если ошибки возникают из-за ошибок данных, то тесты могут легко быть добавлены, новый созданный тупик (тиражирование ошибки данных) и код, произведенный для исправления ошибки.

Тупики отличаются к Насмешки , в котором они используются, чтобы представить и протестировать состояние из объекта, тогда как Насмешка тестирует взаимодействие .

14
задан Steven Sudit 4 September 2009 в 18:40
поделиться

3 ответа

Я думаю, что это намерение, но на самом деле вам просто нужно уменьшать и увеличивать счетчик, если вы имеете дело только с круглыми скобками. Если вы имеете дело с парами квадратных скобок, угловых скобок, фигурных скобок или любыми другими парами символов, которые вы хотите использовать, вам понадобится стек, как и вы.

Вы также можете использовать список, потянув за Элемент head постоянно включается, но на самом деле стек, вероятно, в любом случае реализован как список - по крайней мере, он находится в ocaml.

10
ответ дан 1 December 2019 в 12:13
поделиться

Почему возвращаемое значение и выходной параметр дают одинаковую информацию?

Вы можете вернуть int: -1 = сбалансированный, в противном случае - индекс ошибки.

0
ответ дан 1 December 2019 в 12:13
поделиться

Как сказал TheVillageIdiot, все в порядке. Вы также можете реализовать его рекурсивно, что может быть более элегантным, а может и нет. Наконец, вы можете потребовать, чтобы совпадающие круглые скобки содержали что-то допустимое между ними, чтобы разрешить «(a)», но не «()».

0
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: