Ulad🧑‍💻
Такой проблемы не замечал, уже 3 проекта выпустил с флоу и один очень крупный, очень сильно помогает и спасает при рефакторинге
Sergey
Такой проблемы не замечал, уже 3 проекта выпустил с флоу и один очень крупный, очень сильно помогает и спасает при рефакторинге
А какой реальный профит? Улучшение структуры кода и логики? Ведь там только типизация
Ulad🧑‍💻
Не представляю уже стабильный проект без типизации, или на кроянк без jsDoc(хотя это всего то документация)
Sergey
А вы пробовали?
Немного, хочу попробовать 🙂
Ulad🧑‍💻
Часто пропсы не то есть прокинешь, он помогает избегать undefined при вызовах + если несколько человек работает то не раз спасал он поломок в староннем коде, особенно при смене стора
Ulad🧑‍💻
На малых проектаз толку нету, но если делать серьёзно то стоит брать тс или флоу
Ulad🧑‍💻
js очень нестабилен
Sergey
Да, я заметил с undefined
Sergey
Надо все проверять
Ulad🧑‍💻
Или хороший архитектор должен быть в команде
Ulad🧑‍💻
А так основная проблема флоу была раньше с типизацией либ, но теперь flow-typed фиксит всё без проблем автогенерацией типов (any, но потом можешь описать если либа важная, он сам находит все выходные параметры)
Ulad🧑‍💻
Уже внедрил в две команды флоу и все довольны остались
Sergey
Также как и пропсы перекидывать из компонента в компонент очень муторно, как заметил, даже в небольших проектах, можно переложить на redux ?
Sergey
а как именно с undefined помогает?
Ulad🧑‍💻
а как именно с undefined помогает?
Если ты знаешь что пропс не всегда может быть ты просто пишешь анатацию типа obj { logo?: string } И при попытке просто сделать в jsx или коде obj.logo вызовет ошибку при проверки
Sergey
в swift есть для этого optional
Ulad🧑‍💻
Так как обхект может быть undefined
Ulad🧑‍💻
Это кажется мелочью при небольшом сторе, но когда у тебя там за 30 объектов и каждый со своей структурой - спасает от множество багов и делает прилагу стабильнее
Sergey
аа те, отсеивается на этапе проверки - понял, спасибо!
Ulad🧑‍💻
Но самый большой минус флоу пока - он жрёт CPU будто майнит
Sergey
да я с undefined уже столкнулся, когда данные из БД идут не в тех форматах или вообще не идут, например
Sergey
рушилось приложение
Sergey
просто ставить проверку undefined на каждую переменную - нитак красиво
Ulad🧑‍💻
это же на этапе разработки ?
Так он только на этапе разработки и нужен
Sergey
Так он только на этапе разработки и нужен
ну тогда норм, flow не тормозит особенно
Ulad🧑‍💻
Но фиксится просто командйо killall flow, иногда он слишком много инстансов запускает
Ulad🧑‍💻
Короче берите дети флоу или тс если вы серьёзные ребята)
Sergey
VS code - все быстро 🙂
Ulad🧑‍💻
VS code - все быстро 🙂
И флоу очень хорошо поддерживает
Sergey
на i7
Sergey
и еще вопрос, на отдельную тему, было ли так, что fetch не работал на android 7 в принципе нашел issues на эту тему
Sergey
но пока особенно продвинуться не удалось
Sergey
вроде бы react 0.54
Sergey
на nginex добавлено ssl_ecdh_curve prime256v1;
Sergey
причем axiom тоже саое выдает
Sergey
проходит напрямую через new XMLHttpRequest()
Sergey
но крашится в Android на request.onreadystatechange
Sergey
0.54
Sergey
c expo sdk27
Andrey
Но самый большой минус флоу пока - он жрёт CPU будто майнит
по мне так самый большой минус относительно тса, то что у тса много больше тайпингов для сторонних либ
Ulad🧑‍💻
по мне так самый большой минус относительно тса, то что у тса много больше тайпингов для сторонних либ
разве? Не замечал с этим проблем. Разве что у тса есть уже много готовых типов для либ
Ulad🧑‍💻
TS хорош для серверной части, спору нет, но в связке с реактом я с ним настрадался пол года назад и бросил
Ulad🧑‍💻
именно, у тса комьюнити просто много больше
Так понятно, тут не спорю, но в лоу по мне так легче скипнуть непокрываемый типами кусок кода без боли
Ulad🧑‍💻
Как тебе сказать, вот легаси проект переписывать кусками начни) на тсе это почти нереально, только если с нуля, на флоу - без проблем
Ulad🧑‍💻
имхо вообще не зависит от типизации
Почему? Как раз таки типизация помогает
Władimir (Zae)
ну плюс в том что ты приходишь в проект через несколько недель-месяцев и не проебываешься из контекста полностью
Ulad🧑‍💻
Попробуй на флоу или тс сделать массив в котором не консистентные данные, сразу отхватишь ероры. понимаешь хотябы что должно передоваться в функции и что они вернут
Ulad🧑‍💻
ты поставь возвращаемый тайп boolean и поробуй вренуть какаю ерунду, опять отхватишь ошибки
Sergey
так кажется нашел с fetch - ssl cert
Ulad🧑‍💻
И это мелкие ситуации
Sergey
openssl s_client -debug -connect site:443
Sergey
выдает unable to verify
Ulad🧑‍💻
причем тут структура кода и логики?
Структура - покрытие фловом стора помогает более чётко выделить объекты и что там должно быть
Ulad🧑‍💻
а что если мне именно такой и нужен массив?
Ты стоит переделать структуру
Ulad🧑‍💻
Плохая практика
Aleksei
Ты стоит переделать структуру
как категорично, где сказано что плохая?
Władimir (Zae)
Władimir (Zae)
boolean | string | null
Ulad🧑‍💻
Зачем нам согласованость данных? Согласен, глупое утверждение, го делать [1, ‘hello’, null, 1.2]
Andrey
как категорично, где сказано что плохая?
Tuple тогда просто, но с массивом плохой пример
Ulad🧑‍💻
Tuple тогда просто, но с массивом плохой пример
Это да, видел случаи когда человек в массив такое пихал и потом говорил что флоу глупый
Ulad🧑‍💻
Что улучшает? Типизация не даёт тебе использовать всякий треш и менять типы заранее определённых объектов на ходу, пишет ошибки при попытке мутации на readOnly поля, болтать можно долго, но врядли бы это так развивалось будь типизация не так полезна для кода и структуры
Aleksei
Зачем нам согласованость данных? Согласен, глупое утверждение, го делать [1, ‘hello’, null, 1.2]
ну делайте) опять же не вижу причем тут структура кода и прочее. Я тут только вижу что кто то считает будто когда компилер бьет по рукам это хорошо и раз ему такое нравится, то и все должны так делать. Я писал проекты без всякой стат типизации и все было норм, я же не кричу что стат типизация никому не нужна, и если ты серьезный разраб то не стоит брать типизацию. А если говорить еще более серьезно, то нет однозначных исследований что стат типизация лучше например в количестве пойманных ошибок
Sergey
Типизация интересна, тк позволяет 1 улучшить структуру 2 сократить количество ошибок, можно и без нее - да, но с 1 и 2 веселее, а так выбор каждого имхо 🙂
Aleksei
ну вот опять же, почему типизация? ну посадили бы на clojure, хуже было бы?
Andrey
(оперативной памяти разраба)
Sergey
да и использование ? красивее, чем проверка на undefined