В последнее время я Я добавляю asserts
почти в каждую функцию, которую я делаю, чтобы проверять каждый ввод как своего рода замену проверки типов для бедняков или предотвращать случайный ввод искаженных данных во время разработки. Например,
def register_symbol(self, symbol, func, keypress=None):
assert(isinstance(symbol, basestring))
assert(len(symbol) == 1)
assert(callable(func))
assert(keypress is None or type(keypress) is int)
self.symbols_map[symbol] = (func, keypress)
return
Тем не менее, я беспокоюсь, что это противоречит идее утиного набора текста, и что я могу зайти слишком далеко или излишне себя ограничивать. Может ли быть слишком много операторов assert? Когда пора остановиться?