Какой код должен быть первым, проверять функциональность или валидность? - PullRequest
4 голосов
/ 05 мая 2009

При кодировании, скажем, формы регистрации с нуля, имеет ли смысл сначала заставить ее работать с ожидаемыми входными данными, а затем вернуться назад, отловить / обработать неожиданные входные данные и устранить ошибки?

Альтернативой может быть обработка ввода, проверка любых ограничений и обеспечение их правильной обработки, а затем работа с правильной работой типичного варианта использования.

Является ли один путь предпочтительнее другого, и если да, то почему? Кроме того, есть ли альтернативный способ выполнить эту задачу из двух частей?

Чтобы уточнить , под действительностью я подразумеваю нечто большее, чем просто проверку данных, включая бизнес-правила, такие как «Не более X человек могут зарегистрироваться на это событие»

Ответы [ 11 ]

0 голосов
/ 05 мая 2009

Если вы разбиваете код на «модель» и «пользовательский интерфейс», то некоторые из них легче понять, но в основном требует выбора дизайна: объекты вашей модели собираются на предполагать правильными входы и возьмите на себя ответственность за пользовательский интерфейс, или проверка на правильность ввода.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...