Комментарий к докладу

Хочу поделиться интересным докладом от iOS разработчика из American Express.

Большинство идей, которые я реализовал на TypeScript в проектах Ozon Aquriring за последний год, взяты из этого доклада и тех материалов, на которые он ссылается.

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

Доклад

Темы

  • Доменное моделирование на основе типов;
  • Функциональные паттерны и типы;
  • Превращение частичных функций в полные;
  • Превращение функций с сайд эффектами в чистые
  • Value Oriented Programming;
  • Функциональная dependency injection.

Мысли

  • Несмотря на то, что в TS структурная, а не номинальная система типов, почти всё, что рассказано в докладе, можно реализовать на TS;
  • Я теперь по-другому смотрю на Redux/useReducer. За свою практику видел много кода, где редьюсеры используются, как value setter’ы, а в миддлварах лежала бизнес логика, которая не покрывалась unit-тестами, но зато были тривиальные тесты на редьюсеры, что вообще бессмысленно. Ладно, об этом позже;
  • Стоит также прочитать Redux is half of pattern . Это хорошо ляжет на доклад;
  • Важно, что когда я говорю “Redux”, то это про идею использования редьюсеров с однонаправленным потоком данных, а не про сам фреймворк. Я в курсе, что его захейтил Даниил Абрамов, просто так фронту легче понять, что за концепции обсуждаются;
  • Рекомендую смотреть доклад в Obsidian с использованием плагина Timestamp Notes;

Вдохновляет

  • Идея разрабатывать веб на связке Kotlin-JS, вместо TS-JS
  • Мысль, что ты можешь работать в области 5 лет и всё равно ещё будет море вещей, которые можно узнавать и чувствовать себя Незнайкой
  • Человек, придумавший мандарины без косточек
  • Запах весны. Сейчас суббота, открыто окно, дует приятный ветерок, а я сижу и почему-то вместо прогулки пытаюсь понять, как перевести фамилию Luposchainsky…

Тэги

#typeDrivenDesign#юнитТестирование#фронтенды,#valueOrientedProgramming,#чистыеФункции,#functionalProgramming,#доклад,#swift,#ios,#patterns,#fcis

Материалы