Здравствуйте, vsb, Вы писали:
KP>>Меня, как человека привыкшего к сатитеской типизиции, особенности динамической типизации иногда ставят в тупик. Как вообще с ней жить в сложном проекте?
vsb>Ассерты в функции на то, что приходит значение нужного типа и юнит-тесты кода, вызывающего функцию, чтобы этот вызов прогнало и неверное использование упало на ассерте.
Трудно представить ситуацию, когда у вас времени достаточно, чтобы ваять юнит-тесты, но недостаточно, чтобы писать код на статически типизированном языке.
Ассерты, проверяющие типы переменных в динамических языках — это костыли. В некоторых местах это оправдано, но повсеместное их использование ломает все прелести динамической утинной типизации. Зачем тогда вам вообще динамическая типизация?
Ассерты должны проверять наблюдаемое и значимое в данной точке программы поведение объектов, а не типы объектов.