Size: a a a

2020 June 03

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
идея с установкой связей через init файл в том, что это даёт большую свободу при импорте — если init файл импортирует (ссылается на) сущности из каких-либо других секций приложения, то индекс папки останется свободным от этой ссылки, ведь при его импорте init не подключается а значит не подключается и всё то, на что тот ссылается
это и даёт свободу от циклов
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
более того, в этом случае корневые init файлы становятся тогглами для фич, так как если убрать init какой-либо фичи, то её связи не будут установлены, что означает отсутствие инициализации фичи
источник

R

Ruslan 🌀 in ☄️ effector
Manga developer
Всем привет. Появилась идея по организации логики

Суть такая

/model
  model1.ts
  model2.ts
  index.ts

в файлах описываем изолированную логику
когда нужно взаимодействие между файлами – пишем ее в index.

По идее это ведь должно помочь с удобным разделением логики разных организмов?

И возможно поможет с цикличными импортами? Что думаете?
я бы вместо model1.js и model2.js создал бы папки model1 и model2... в каждой папке было бы 3 файла:
index.js - публичный апи папки,
init.js - модель поведения (связи),
model.js - апи модели (сущности)

может файлов больше, зато масштабируется без проблем и даёт много плюсов (по моему мнению)

таким образом можешь дробить большие модели сколько угодно, или фичи

главное разделять по функционалу, а не по типам
источник

AP

Andrey Ponomarenko in ☄️ effector
я когда обдумывал этот момент не мог отделаться от чувства, что хочешь ты использовать какую-то не эффектовскую модель, ну и ты типо делаешь:
const user = new User();
user.die()


А в подходе с импортом инитов получается, что ты хочешь сделать:
dieEvent():


но метод не сработает пока ты не импортируешь user init в корне :DDDD
источник

AP

Andrey Ponomarenko in ☄️ effector
не, я понимаю что концепты разные, вещи не совсем одинаковые, тыры пыры

Может опять предубеждение :DD
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ну вот на конкретном примере:

в репле есть возможность делать тайпчекинг при использовании flow (включается в табе settings).
эта возможность влечёт за собой навешивание логики обработки и вывода ошибок, требует подключения внешней библиотеки для работы с апи тайпчекера @zerobias/codebox и делает пару прямых мутаций html (так вот реализовали 😅)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
инит файл выше уровнем выглядит так https://github.com/zerobias/effector/blob/master/website/editor/src/init.tsx#L7
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
и если мы закомментируем строку с инициализацией flow, то тем самым сразу избавим проект от всей логики, сайд эффектов и зависимостей, требуемых для работы этой секции приложения
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
то есть одним из бонусов упорядочивания импортов и выделения инит файлов является и более аккуратное подключение кода)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ведь при обычном подходе, разрешающем циклы, избавиться от лишних зависимостей заметно сложнее: одну половину файла может использовать одна фича, другую — другая, сам он импортирует что-нибудь из третьей, а сверху всего этого — какой-нибудь импорт библиотеки с сайд эффектами, лишающий нас возможности избавиться от него если данный файл с кодом используется где либо ещё
источник

🦜

🦜 in ☄️ effector
не пробовал, но осуждаю
источник

🦜

🦜 in ☄️ effector
лучше твитор днем не читать
источник

M

Manga developer in ☄️ effector
Ruslan 🌀
я бы вместо model1.js и model2.js создал бы папки model1 и model2... в каждой папке было бы 3 файла:
index.js - публичный апи папки,
init.js - модель поведения (связи),
model.js - апи модели (сущности)

может файлов больше, зато масштабируется без проблем и даёт много плюсов (по моему мнению)

таким образом можешь дробить большие модели сколько угодно, или фичи

главное разделять по функционалу, а не по типам
По-моему слишком уж на организм такое создавать)
источник

M

Manga developer in ☄️ effector
Просто у меня бывает на странице по 4-5 организмов иногда. В моделях это все смешивается
источник

MK

Mihail Kuzmin in ☄️ effector
🦜
не пробовал, но осуждаю
ошибки как у 5 классника
источник

🦜

🦜 in ☄️ effector
источник

🦜

🦜 in ☄️ effector
сами почитайте тред
источник

🦜

🦜 in ☄️ effector
шо я один должен с горящим пердаком сидеть
источник

DS

Dmitriy Shuleshov in ☄️ effector
я еще не понял как работает твиттер🙈😅
источник