Dmitry
Хорошая статья
Nikita
Ща
Я думал, флоу тупо чекер и аннотации там тоже просто выкидываются.
Dmitry
термины явная/не явнвая намного шире описывают типизацию
Дима
Можно линк?
https://flow.org/en/docs/lang/refinements/
Тут рассматривается аннотированный тривиальный случай, но в общем случае подход тот же.
Если у тебя наружу выставлена функция, то тип на входе по дефолту mixed, и корректность типа надо выводить из него
Dmitry
Сохранил в закладки, спасибо!
Дима
Nikita
Но это рекомендация к коду человеков, да.
Dmitry
Nikita
если там написать foo(value: string) и экспортировать её — та же фигня будет, что и с тс.
Дима
Флоу утверждает что в большинстве случаев тебе аннотации вообще не нужны
Dmitry
вы куда-то не туда ушли, нет?
Дима
Что перекликается с тем что я привёл выше
Nikita
Nikita
А в нём можно для либ описывать какие функции экспортируются в апишечку?
Nikita
Чтобы он ожидал, что туда подставят любую фигню в параметры.
Nikita
И заставлял её валидировать.
Dmitry
Алексей
Алексей
украдено у ёлочки вроде бы
Матрос
вы лучше мне скажите какой мудак разрабу passport.js сказал что mutable-функции с side-эффектами это вин
Dmitry
))))
Nikita
Я понимаю, что можно там указать явно «тут может быть любой тип», но я имею ввиду другое: «тут должна быть строка, но это часть публичного апи и сюда реально могут сунуть что угодно, поэтому заставь меня проверить что это именно строка»
Dmitry
Матрос
у самого разраба ты имеешь ввиду?
Nikita
Дима
Dmitry
Nikita
В таком случае он должен заставлять проверять тип, по-хорошему.
Матрос
Dmitry
Дима
Матрос
ладно, вы тут про типизацию... совсем дела плохи
Nikita
Матрос
а в плюсах mixed есть?..... я прост не помню(
Nikita
Dmitry
проблема не в языке итипизации, а в том как мы используем язык, инструмент, который мы используем
Дима
Я всё же настаиваю что проблема именно в типизации)
Belmo NaTazu
Дима
Потому что с её помощью можно декларировать чуть больше чем просто кучку объектов
Алексей
попробуйте написать большой проект на каком-нибудь brainfuck, а потом говорите, что проблема не в языке
Dmitry
Dmitry
это совсем другая лига
Матрос
блин,я вот вообще подобных тем иногда не понимаю. вот блять все кому не лень порой хотят наебенить огромную иерархию типов... внезапно на JS. ну блин не для этого он, чего обсуждать типизацию? хотите типизации - идите в типизированные языки, почему нельзя довольствоваться красотой Js как раз с точки зрения того что тут типов как таковых нет и использовать плюшки с этим связанные?...
Dmitry
brainfuck был написан ради академического интереса, и не более
Матрос
Дима
Дай мне брейнфак с функциями, я выведу тождественные преобразования и перейду к синтаксису компилируемому в брейнфак
Матрос
Anonymous
работал кто с amazon lambda ?
Алексей
блин, я не про это вообще говорю, я про то, что язык имеет значение, а не только прямота рук программиста
Dmitry
Dmitry
это не сарказм
Матрос
да все на самом деле понимают, просто под ночь уже поболтать охота)
Матрос
если не понимают то "остановите я сойду"
Алексей
наброшу
Матрос
давай)
Алексей
я считаю, что тип есть всегда, а точнее интерфейс
Алексей
не всегда в языке
Матрос
стоп
Алексей
пускай даже в голове у программиста
Матрос
вот не надо вот так жестко путать
Матрос
интерфейс с типом
Алексей
ну хорошо, интерфейс
Dmitry
))))
Дима
Алексей
остановимся на интерфейсе
Матрос
Матрос
это из TS?
Дима
Не хочу интерфейсы, они бесполезные
Матрос
+
Дима
Матрос
не шарп ли?
Дима
В шарпе такого тоже нет)