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

Обычно большинство проверок аргументов очень дешево, поэтому они не повлияют на производительность, но дадут вам дополнительную защиту.

Возьмем пример. Здесь у нас есть невинная функция, которая принимает personId и объект данных Person. Вы спросите, в чем проблема?

Строка 9 может вызвать исключение Null Reference, если переданный аргумент personData был пустым.

Исключение Null Reference считается ошибкой на миллиард долларов, заявленной Тони Хоаром, который первоначально представил эту концепцию.

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

Итак, любой хороший разработчик добавил бы следующие проверки аргументов:

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

Вы можете использовать один из множества валидаторов аргументов, чтобы правильно настроить свои функции.

Валидатор, использованный в примерах выше, я написал для себя, чтобы я мог оставаться ленивым. Вы можете найти код валидатора на github здесь или получить nuget здесь.

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

Если вам понравился этот пост, вам тоже может понравиться это: