Есть несколько причин, по которым вы хотели бы использовать то, что вы называете проверкой.Ниже я обрисовал некоторые из них.
1) Гарантия того, что ваш контракт не может войти в неожиданное состояние.Предсказать, как пользователь должен взаимодействовать с контрактом, гораздо проще, чем предсказать, как контракт может быть использован не по назначению, поэтому проверяет, чтобы избежать непредвиденного состояния, помогающего ограничить пути кода и результирующие векторы атак.
2) Отладка и обратная связь с пользователем.Если у вас есть проблема с кодом контракта, использование require () позволяет вам предоставить полезную обратную связь пользователям вашего контракта (обычно ваш код переднего плана)
3) Стоимость этих операций сравнительно мала по сравнениюк потенциальным расходам, связанным с неправильным использованием и / или повторным входом.