
Sergey
17.12.2017
16:51:21
ООП тебя тоже не спасет
а вопрос "как свитч не писать" - на него есть ответ - полиморфизм. Это вообще никак не привязано к ооп vs фп
тем более - у тебя там тайпскрипт с неплохой системой типов

Kirill
17.12.2017
16:52:01

Google

Kirill
17.12.2017
16:53:20
Я про настоящий ООП с immutable классами.

Sergey
17.12.2017
16:53:40
настоящий ООП не сильно на низком уровне от ФП отличается
ну то есть... окей
вот есть у тебя имутабельные объектики
и решил ты игру писать например на ноде
для начала - почему ты считаешь что есть разница пишем мы на java или typescript?

Kirill
17.12.2017
16:55:49

Sergey
17.12.2017
16:56:48
почему бы и нет, в любом случае будет опыт. Тем более что typescript от шарпов тех же уже не так что бы и отличается (разве что система типов богаче)

Kirill
17.12.2017
16:57:03

Like
17.12.2017
16:57:32

Sergey
17.12.2017
16:58:13
да, тебе придется учитывать нюансы языка... и помни что некоторые "практики" популярны там или где-то еще просто потому что таков язык

Like
17.12.2017
16:58:25

Sergey
17.12.2017
16:58:27
например в python не особо часто пользуются DI потому что у них есть неплохая система модулей

Google

Sergey
17.12.2017
16:58:56

Like
17.12.2017
16:59:07

Sergey
17.12.2017
16:59:08
вспомни имутабельные коллекции)
а процедурный код ты можешь хоть на хаскеле писать
если очень постараешься
можно попробовать порассуждать на тему императивное vs декларативное

Like
17.12.2017
17:00:25

Sergey
17.12.2017
17:00:26
но мне лень

Like
17.12.2017
17:00:47
Я до сих пор не отошел от синтакс. сахара в хаскелле :(

Sergey
17.12.2017
17:01:14
а я до сих пор не нашел в себе силы погрузиться в этот дивный мир всяких хаскелей, клож, лиспов и т.д.

Like
17.12.2017
17:01:38

Sergey
17.12.2017
17:01:42
я когда пробую чувствую себя тупым
наверное даже больше всего тупым я себя чувствую когда пытаюсь погрузиться в теорию типов
со всеми этими выводами, формулками и тд.
вроде бы и понятно но чет как-то так сложно

Kirill
17.12.2017
17:03:13

Sergey
17.12.2017
17:03:32
Почему "писало"?
ну может кто-то ее пишет, например @mkusher может быть еще пописывает

Like
17.12.2017
17:03:39

Google

Like
17.12.2017
17:03:42
Хаскелл в целом хорош
И "красив"

Sergey
17.12.2017
17:04:02
а ты на эрланге пробовал?)

Like
17.12.2017
17:04:18
После лиспа на все могу смотреть )
А нет, перепутал...Не на все

andretshurotshka?❄️кде
17.12.2017
17:05:19

Sergey
17.12.2017
17:07:33
че это
потому что мир не совершенен

Like
17.12.2017
17:24:29

Sergey
17.12.2017
17:29:38

Roman ?
17.12.2017
17:31:30
оно же все равно в js транслируется ?
было бы круто если бы какой то бинарник дергал апи браузера без js

Sergey
17.12.2017
17:32:25
тем без транляции в js

Kirill
17.12.2017
18:26:57
http://www.norvig.com/design-patterns/

Sergey
17.12.2017
18:28:21
https://refactoring.guru/design-patterns
лучше уж такое
https://refactoring.guru/refactoring/smells
вот это тоже полезно

Ilia
17.12.2017
18:43:20

Google

Sergey
17.12.2017
18:43:39
ну то есть, иногда нужен свитч (который легко заменить на что-то более декларативное) а инога он не нужен но ты его пишешь

Ilia
17.12.2017
18:56:56

Adel
17.12.2017
18:57:17
map

Sergey
17.12.2017
18:58:02
в этом нет смысла
switch в этом случае будет максимально эффективен
мы же не пытаемся goto в машинном коде убрать потому что "некрасиво"

Ilia
17.12.2017
18:58:42
Ну ок, допустим, я его руками написал

Sergey
17.12.2017
18:59:00
ну тогда мэпа, паттерн матчинги всякие и т.д.
что-то типа мэпы символ => указатель на функцию (замыкание, делегат, что там у тебя)
либо если тебе не жалко процессорного времени
то можно chain of responsibility заюзать
заодно код станет более модульным и читаемым
(правда можем и другой эффект получить, если нам важно видеть в одном месте всю картину)

Артур Евгеньевич
18.12.2017
08:08:05
Как вы относитесь к тому чтобы внутри модуля создавать папки Domain, Infrastructure, Applicatin и Presentation?

Sergey
18.12.2017
08:09:42

Артур Евгеньевич
18.12.2017
08:11:59
А почему перестал?
вот это тот же формат под гексагоалку
src/
<BoundedContext>/
Domain/
Model/
Application/
Infrastructure/
<Port>/
<Adapter>/
<Adapter>/
...
<Port>/
<Adapter>/
<Adapter>/
...
...
<BoundedContext>/
...

Google

Артур Евгеньевич
18.12.2017
08:12:52
src/
IdentityAndAccess/
Domain/
Application/
Infrastructure/
Api/
Http/ # Serving a restfull HTTP API
Collaboration/
Domain/
Application/
Infrastructure/
IdentityAndAccess/
Http/ # HTTP client for I & A's REST API

Roman
18.12.2017
08:16:07
Кто-нибудь юзает IdentityServer4?

Jan
18.12.2017
08:25:26
Я вот всё думаю, насколько адекватной была идея сделать подготовку данных для списков в шаблонах не в отдельных сервисах, а в слушателях события PaginatorResultsFound…

Sergey
18.12.2017
08:26:29
а не про структуру

kana
19.12.2017
05:33:07
несколько кейсов функции и гарды - это не избавление от switch/if, это ровно то же самое, только более декларативно, в видосе же речь про полиморфизм