
Oleg
31.08.2016
17:49:55
Ну покажи своё лучшее решение на TS

Vladimir
31.08.2016
17:51:26
луше ренешение чего? какая проблема-то?

Ҫѐҏӗѫӑ
31.08.2016
17:56:09
шта

kaflan
31.08.2016
18:01:52
я думаю это один из контрибьюторов в калфланг

Google

Sergey
31.08.2016
18:06:41
Так что, кто там эзал mixins на ts?
Вот это https://www.typescriptlang.org/docs/handbook/mixins.html выглядит очень странно

Oleg
31.08.2016
18:12:23
Так и проблему не решает узнать тип в рантайме
А вообще для оценки проблематики гуглить mixins typescript. Но ничего стоящего там нет

Mike
31.08.2016
18:17:45
что-то ниочём трансляция

Vladimir
31.08.2016
18:18:46
да(

Sergey
31.08.2016
19:30:47

Denis
01.09.2016
14:16:53
горяченькое из @react_js
как человек, пытавшийся внедрить сначала тайпскрит, потом flow - могу оспорить эти утверждения. js и экосистема не готовы к типам. В утилитках - да. В редьюсерах - нафиг не нужно. На простой редьюсер прийдется написать тучу типов, вместо простых тестов

Aleh
01.09.2016
14:17:50
как это вместо О.о
хз, по мне удобно, что state типизирован

Vladimir
01.09.2016
14:18:34
да, это самый сок
и state и экшны

Google

Aleh
01.09.2016
14:18:45
да

Alex
01.09.2016
15:03:43
а не писать кучу "просты тестов" и поддерживать их постоянно

Aleh
01.09.2016
15:06:09
стопэ, типы не отменяют же тесты

Alex
01.09.2016
15:06:35
не отменяют, но уменьшают необходимость и детализированность
вообще это разные вещи, но тесты это не код
сам код приложения имеется ввиду
а типы это код
часть когда, которая обеспечивает надежность этого кода
а тесты только проверяют уже пост фактум

Vladimir
01.09.2016
15:09:05

Alex
01.09.2016
15:09:39
по сути должен быть уже Type Driven Development

Vladimir
01.09.2016
15:09:47
именно
я так это и называю)

Mike
01.09.2016
15:10:55
дело в том что люди который привыкли к отсутсвию нормальной типизации часто воспринимают её как ограничение а не как подспорье

Vladimir
01.09.2016
15:11:47
Ее отсутсвие приводит к конкретным трудностям при разработке надежного кода
Кому не важно, надежный код или нет - типы в общем-то и не нужны

Aleh
01.09.2016
15:13:56
ты скорее не будешь писать в коде проверку на null, потому что тип объявил строго не nullable, соответственно и теста не будет
но это не отмена теста. Теста нет, потому что кода для теста нет)

Google

Vladimir
01.09.2016
15:14:43
Мне не нужно писать тесты, которые проверяют, что есть нужные поля

Aleh
01.09.2016
15:14:58
так тебе не надо проверку писать

Alex
01.09.2016
15:16:28
да многие тесты не нужны становятся
можно писать долго код запустить и он будет рабоать
что без типов нереально

Aleh
01.09.2016
15:17:29
ну такое

Mike
01.09.2016
15:18:11

Alex
01.09.2016
15:18:13
нужно саму логику тестировать, а всякую шляпу типа форматов уже не нужно

Mike
01.09.2016
15:18:27
хотя долго писать код не запуская в принципе не очень дело

Alex
01.09.2016
15:18:51
а не отлаживаешь его

Aleh
01.09.2016
15:19:26
так, еще раз. Вы не перестаете писать тесты, просто перестаете писать некоторую логику идущую в рантайм, потому что ее можно проверить в компайл-тайме, из-за этого нет теста, потому что тесту нечего тестировать

Alex
01.09.2016
15:19:27
в о общем типы актуальны когда ФП, когда нет, необходимость в них действительно не очевидна

Aleh
01.09.2016
15:19:37
а не добавили к коду типов и тесты можно выкинуть

Mike
01.09.2016
15:19:39
я всё равно тесты дольше пишу чем код, но это потому что браузеры по разному себя видут
и тут типы не помогают

Alex
01.09.2016
15:20:54
типы нужны для логики)
а браузер это уже сайд эффект
поэтому и не помогают

Aleh
01.09.2016
15:21:31

Google

Alex
01.09.2016
15:22:09
потому именно там идет речь о чистой логике
поэтому там без этого никак
В ОО есть уже структуры более высокорого уровня - сами объекты
они их структура как-то выражается даже в "нетипизированной" форме
а в ФП таких структур нет, нужно то что скрепит код - это типы
без типов там все поплывет сразу

Vladimir
01.09.2016
15:30:21
Вот честно скажу - рефакторинги без типов невозможны
Меню код в одном месте, flow подсказывает все остальные места. Иногда 10-15 файлов

Mike
01.09.2016
15:31:13
вообще я видел гуру которые например на перле спокойно себе рефакторятся, но у них тысячи тестов

Vladimir
01.09.2016
15:31:19
Даже если тесты все покрывают, нужно будет с каждым тестом отдельно разбираться

Mike
01.09.2016
15:31:24
да
просто слово новозможно тут слишком категорично
но в целом согласен

Vladimir
01.09.2016
15:31:53
Хз. Вот серьезно - на бэкэнде без типов вообще безумие
Не понимаю, как раньше писал

Mike
01.09.2016
15:32:54
ну как тебе сказать, в РФ очень много бекендов на преле, у них даже нормального объявления имён параметров функций нет
Яндекс, Мейл, Рамблер имеют оооочень много кода не перле
и как-то живут

Vladimir
01.09.2016
15:34:05
Вот я не знаю, как так. Совсем не продуктивно же

Mike
01.09.2016
15:34:47
есть люди у которых мозг другим образом устроен, это не занчит что они плохие, они просто другие

Google

Mike
01.09.2016
15:34:51
я таких знаю
очень продуктивные
один в виме пишет другой в emacs
и они чертовски круты

Vladimir
01.09.2016
15:36:22
Ну если у них есть возможности в голове держать такой объем информации, который необходим чтобы рефакторить
То это можно было бы использовать как-то по-другому

Aleh
01.09.2016
15:36:58

Vladimir
01.09.2016
15:37:25
Да нет, многие рефакторинги - вполне безопасно

Mike
01.09.2016
15:37:26

Vladimir
01.09.2016
15:37:43
переименование полей, изменение типов полей, etc

Mike
01.09.2016
15:37:50
зависит от закладываемой надёжности и цене последующего ручного тестирования

Vladimir
01.09.2016
15:37:55
перенос между модулями

Aleh
02.09.2016
08:28:43

Oleg
02.09.2016
12:05:50
кто тут самый крутой по генерикам?

Mike
02.09.2016
12:06:30
закидывай, посмотрим

Oleg
02.09.2016
12:07:04
делаю классическую композицию
то что в нормальных языках делается class MyService extends Service with Creatable, Deletable {}
в простешем случае композиция удается
http://codepen.io/olegsmetanin/pen/EgxoVp