O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Григорий Петров
TypeScript
Кому нужна строгая типизация?
Что сейчас будет?
Рассказывает Григорий Петров
Специализация Руководство разработкой
Чем занимается Частный консультант
Оп...
Кошелек Миллера
3
Картина пишется мазками
4
Проблема сложности
- Набрали технического долга
- Не угадали с архитектурой
- Не нашли время на рефакторинг
- ...
5
Статическая типизация
Защита на этапе отдельных мазков.
6
Статическая типизация
Защита на этапе отдельных мазков.
Пока мы держим в голове, как оно работает.
7
Например
Users.prototype.isUsersActive = function() {
return this._isActive && this._usersCount > 0;
}
Core.prototype.isBu...
Например
Users.prototype.isUsersActive = function() {
+ return this._isActive && this._usersCount > 0;
- return _.find(thi...
Например
Users.prototype.isUsersActive = function() {
return _.find(this._users, (user) => { return user.isActive(); });
}...
Например
Users.prototype.isUsersActive = function(): boolean {
return _.find(this._users, (user) => { return user.isActive...
Как это ловит TypeScript
12
Все имеет свою цену
- Обучение разработчиков
- Избыточная защита - больше кода
- Замедляет начальную разработку
13
Опциональная типизация
Лучшее из двух миров: накладываем защиту
только там, где она нужна.
14
Опциональная типизация
- Быстрая фаза разработки: защита только
в уязвимых местах
- Стабильный модуль - больше защиты
15
Что защищать в первую очередь?
- сигнатуры публичных методов
- .d.ts для библиотек
16
Вывод
Замечательный инструмент, если без
фанатизма
17
Это все на сегодня
Теперь можно задавать вопросы.
Рассказывал и показывал Григорий Петров
grigory.v.p@gmail.com
http://fac...
Próximos SlideShares
Carregando em…5
×

«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21

1.230 visualizações

Publicada em

«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21

Publicada em: Software
  • Seja o primeiro a comentar

«Typescript: кому нужна строгая типизация?», Григорий Петров, MoscowJS 21

  1. 1. Григорий Петров TypeScript Кому нужна строгая типизация?
  2. 2. Что сейчас будет? Рассказывает Григорий Петров Специализация Руководство разработкой Чем занимается Частный консультант Опыт Более 15 лет Время выступления 15 минут Вопросы В конце выступления, 5 минут 2
  3. 3. Кошелек Миллера 3
  4. 4. Картина пишется мазками 4
  5. 5. Проблема сложности - Набрали технического долга - Не угадали с архитектурой - Не нашли время на рефакторинг - ... 5
  6. 6. Статическая типизация Защита на этапе отдельных мазков. 6
  7. 7. Статическая типизация Защита на этапе отдельных мазков. Пока мы держим в голове, как оно работает. 7
  8. 8. Например Users.prototype.isUsersActive = function() { return this._isActive && this._usersCount > 0; } Core.prototype.isBusy = function() { var conditions = [ … {flag: Users.isUsersActive(), info: "active users"}, ]; return _.any(conditions, {flag: true}); } 8
  9. 9. Например Users.prototype.isUsersActive = function() { + return this._isActive && this._usersCount > 0; - return _.find(this._users, (user) => { return user.isActive(); }); } Core.prototype.isBusy = function() { var conditions = [ … {flag: Users.isUsersActive(), info: "active users"}, ]; return _.any(conditions, {flag: true}); } 9
  10. 10. Например Users.prototype.isUsersActive = function() { return _.find(this._users, (user) => { return user.isActive(); }); } Core.prototype.isBusy = function() { var conditions = [ … {flag: Users.isUsersActive(), info: "active users"}, ]; return _.any(conditions, {flag: true}); } 10
  11. 11. Например Users.prototype.isUsersActive = function(): boolean { return _.find(this._users, (user) => { return user.isActive(); }); } Core.prototype.isBusy = function() { var conditions = [ … {flag: Users.isUsersActive(), info: "active users"}, ]; return _.any(conditions, {flag: true}); } 11
  12. 12. Как это ловит TypeScript 12
  13. 13. Все имеет свою цену - Обучение разработчиков - Избыточная защита - больше кода - Замедляет начальную разработку 13
  14. 14. Опциональная типизация Лучшее из двух миров: накладываем защиту только там, где она нужна. 14
  15. 15. Опциональная типизация - Быстрая фаза разработки: защита только в уязвимых местах - Стабильный модуль - больше защиты 15
  16. 16. Что защищать в первую очередь? - сигнатуры публичных методов - .d.ts для библиотек 16
  17. 17. Вывод Замечательный инструмент, если без фанатизма 17
  18. 18. Это все на сегодня Теперь можно задавать вопросы. Рассказывал и показывал Григорий Петров grigory.v.p@gmail.com http://facebook.com/grigoryvp 18

×