Вчера я рефакторил одну из наших внутренних библиотек в GWI с JavaScript на TypeScript. Как ветеран JavaScript, мне нравится использовать некоторые острые нетрадиционные стили кодирования до ES 2015. Я не часто использую prototype, class или this. Я довольно часто использую Factory Constructor Pattern, а также Higher Order Functions для имитации каррирования и люблю работать с объектами и играть с областями. Теперь вы можете подумать, что это глупо. Никто не поймет мой код, а использование действительно приватных функций затрудняет расширение функциональности. И вы правы :D В любом случае, я знаю, что могу написать более надежный код быстрее, и по моему опыту, когда код достаточно надежен, не многим людям нужно будет его менять. И когда они это делают, они в основном опытны и способны понять это. Также мне нравятся приватные функции. Если вам не хватает какой-либо функциональности или абстракции, всегда полезно добавить ее прямо в библиотеку или написать свою собственную, а не взломать ее. В любом случае, эта статья не об этих паттернах и о том, как их использовать, а скорее о том, что вы чувствуете, когда добавляете в смесь TypeScript. Если вы хотите узнать больше об этих паттернах DuckDuckGo, то прочтите другую статью.

Сначала позвольте мне объяснить одну вещь. Я не пишу TypeScript изо дня в день. Но когда я это делаю, я в основном исследую границы того, что он может сделать. Я пишу много ECMAScript ES 2015 по работе и Elm для удовольствия (что постепенно меняется, так как мы уже выпустили первую функцию, написанную на Elm elm, как часть нашего производственного приложения Ember.js).

ЧИТАТЬ СТАТЬЮ ВСЕ