Save 37% off PRO during our Black Friday Sale! »

Роман Лиман «Зачем мы пишем на F# в продакшене»

Роман Лиман «Зачем мы пишем на F# в продакшене»

Роман расскажет как F# упрощает повседневную энтерпрайз разработку и почему вам стоит его попробовать.

Ceecdee9ee77b63d81100be62b7e1090?s=128

DotNetRu

March 12, 2020
Tweet

Transcript

  1. F# в продакшне! Но почему? РОМАН ЛИМАН 1

  2. Сегодня в меню  Как я пришел к F# 

    Немного о нашем проекте  Введение в синтаксис и основные принципы  Продакшн кейс 2
  3. В погоне за качеством кода  Эта фича нам нужна

    вчера! 3
  4. В погоне за качеством кода  Эта фича нам нужна

    вчера!  Сначала пофикси баги! 4
  5. В погоне за качеством кода  Эта фича нам нужна

    вчера!  Сначала пофикси баги!  Где тот, кто это написал?! 5
  6. В погоне за качеством кода  Эта фича нам нужна

    вчера!  Сначала пофикси баги!  Где тот, кто это написал?!  Опять null ref 6
  7. В погоне за качеством кода  Эта фича нам нужна

    вчера!  Сначала пофикси баги!  Где тот, кто это написал?!  Опять null ref  Тесты напиши 7
  8. В погоне за качеством кода  Эта фича нам нужна

    вчера!  Сначала пофикси баги!  Где тот, кто это написал?!  Опять null ref  Тесты напиши  Тесты обнови 8
  9. Все средства хороши?  Шаблоны проектирования 9

  10. Все средства хороши?  Шаблоны проектирования  Архитектурные подходы 10

  11. Все средства хороши?  Шаблоны проектирования  Архитектурные подходы 

    Конвенции 11
  12. Все средства хороши?  Шаблоны проектирования  Архитектурные подходы 

    Конвенции  Процессы разработки 12
  13. Не сработало 13

  14. Proffsmagasinet  https://www.proffsmagasinet.se/  E-commerce  F#, Azure, Azure Functions,

    Cosmos DB, Elastic Search etc.  Legacy: C#, Azure, Virto Platform 14
  15. Почему F#?  Меньше кода  Код более читаемый 

    Код более надежный 15
  16. Никакой магии  Дополнительные абстракции 16

  17. Никакой магии  Дополнительные абстракции  Удобные инструменты работы с

    ними 17
  18. Никакой магии  Дополнительные абстракции  Удобные инструменты работы с

    ними  Лаконичный синтаксис (Signal to noise ratio) 18
  19. Никакой магии  Дополнительные абстракции  Удобные инструменты работы с

    ними  Лаконичный синтаксис (Signal to noise ratio)  Новые средства организации кода 19
  20. F# функции 20

  21. Partial application 21

  22. Оператор Pipe 22

  23. Оператор Pipe 23

  24. Discriminated Unions 24

  25. Discriminated Unions 25

  26. Discriminated Unions 26

  27. Простейший аналог на C# 27

  28. Простейший аналог на C# 28

  29. Другой вариант на C# 29

  30. Сила юнион типов 30

  31. Option and Result 31

  32. Сила юнион типов 32

  33. Продакшн кейс! Наканецта 33

  34. Продакшн кейс! Наканецта  У товара есть спецификации 34

  35. Продакшн кейс! Наканецта  У товара есть спецификации  Спецификации

    да/нет (Наличие bluetooth) 35
  36. Продакшн кейс! Наканецта  У товара есть спецификации  Спецификации

    да/нет (Наличие bluetooth)  Числовые спецификации (Кол-во оборотов в минуту) 36
  37. Продакшн кейс! Наканецта  У товара есть спецификации  Спецификации

    да/нет (Наличие bluetooth)  Числовые спецификации (Кол-во оборотов в минуту)  Текстовые спецификации 37
  38. Продакшн кейс! Наканецта  У товара есть спецификации  Спецификации

    да/нет (Наличие bluetooth)  Числовые спецификации (Кол-во оборотов в минуту)  Текстовые спецификации  Фиксированный список значений 38
  39. Продакшн кейс! Наканецта  У товара есть спецификации  Спецификации

    да/нет (Наличие bluetooth)  Числовые спецификации (Кол-во оборотов в минуту)  Текстовые спецификации  Фиксированный список значений  Мульти значения 39
  40. Доменная модель 40

  41. Доменная модель 41

  42. Итоги перехода  Меньше кода, он читаемый и стабильный 42

  43. Итоги перехода  Меньше кода, он читаемый и стабильный 

    Написали и забыли 43
  44. Итоги перехода  Меньше кода, он читаемый и стабильный 

    Написали и забыли  0 null reference 44
  45. Итоги перехода  Меньше кода, он читаемый и стабильный 

    Написали и забыли  0 null reference  Код легко адаптировать под новые требования 45
  46. Итоги перехода  Меньше кода, он читаемый и стабильный 

    Написали и забыли  0 null reference  Код легко адаптировать под новые требования  0 mocks 46
  47. Как начать  https://fsharpforfunandprofit.com/  https://t.me/fsharp_chat  https://github.com/atsapura/CardManagement  https://t.me/fsharp_jobs

    47