Может ли быть слишком много утверждений (в Python)?

В последнее время я Я добавляю 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? Когда пора остановиться?

6
задан Michael0x2a 8 March 2012 в 20:49
поделиться