Самодокументация и контракты

Сейчас занят рефактором типизации большого проекта. В угоду скорости в своё время при разработке к типизации относились опосредовано: есть там, где создаёт удобство. Сейчас проект вырос и это стало причинять боль

Теперь нужно потратить очень много времени на исправление ситуаци

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

Прежде всего TypeScript возник как потребность самодокументирования контрактов данных между сущностями системы. Это потом он оброс новообразованиями. Но исходное- это система описания контрактов.

И вот когда эта система живая и поддерживается свежей и работоспособной - вот тогда она помогает.

Я против 100% типизации - это лишнее:

const str: string = 'string' Это лишнее.

Но описать контракты данных между модулями - это очень правильный путь.

А как вы относитесь к типизации кода?