Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Григорий Петров
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óxima SlideShare
Cargando en…5
×

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

1.365 visualizaciones

Publicado el

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

Publicado en: Software
  • Inicia sesión para ver los comentarios

«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

×