Как стать автором
Обновить

Defensive programming. Что это такое и когда использовать

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.9K
Всего голосов 4: ↑2 и ↓20
Комментарии3

Комментарии 3

Спасибо автору за полезную статью.
Пишу на TS и действительно поначалу встречала ошибки которые возникали из-за того, что я пользовалась "всеми благами" typecript и его гибкостью в настройке, и тем самым утихомиривала стогую типизацию (ошибки молодости). В самый неподходящий момент приходил null - я была беззащитна перед компилятором и перед боссом))

Ни Вы, ни автор статьи так и не сообщили, что делать, когда может "прийти null".

Но в новом синтаксисе появляется новая проблема: разработчику надо обязательно отписываться от наблюдения за изменениями свойства, иначе оно так и останется в памяти.

Это не так. Подписка автоматически удалится, когда удалится соответствующий токен. Функция invalidate() вызывается автоматически при удалении токена, что произойдет при удалении удерживающего его объекта в вашем примере. Никаких дополнительных действий по отписке осуществлять в новом синтаксисе не надо. Раз, два.

Что касается остальных примеров, то они похожи на совет не пользоваться ножом для нарезки масла, потому что нож острый и можно порезаться. Да, можно порезаться. Но мазать масло на хлеб без ножа будет довольно сложно и не очень вкусно. Лучше на мой взгляд все же сделать над собой усилие и освоить нож так, чтобы им никогда не резаться. Но дело Ваше.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий