Сова пишет…
3.11K subscribers
353 photos
37 videos
5 files
429 links
14+ лет инженерю фронтенд, руковожу и обучаю.

По внедрению AI в ваши процессы и код, пишите в личку канала
Download Telegram
Хочу напомнить, что со мной всегда можно созвониться и получить консультацию по моим профильным темам: фронтенд, архитектура, React, Effector и миграция на новые технологии.
На данный момент мне удобнее всего получать оплату через ВК, но есть и другие варианты, о которых можем поговорить в ЛС.

Ссылка на ВК
Ссылка на BuyMeACoffee
Я ужа достаточно давно исследую архитектуру современного фронтенда, мне интересно с каким эмодзи у вас ассоциируется идея и подход feature-slices?

Голосование в чате
Давненько не писал сюда, а сейчас появился существенный повод.

Я уже давно рассказываю об архитектуре frontend-приложений и стараюсь явно показывать свои ошибки и опыт.
Весь этот опыт вылился в подход FeatureSlices, который на данный момент уже претерпел два серьезных изменения. Подход преследует простые цели — стандартизация структуры frontend-приложений. Конечно же, я не один работал над подобным подходом, как и ребята из команды feature-driven. Не так давно мы начали объединять усилия и опыт в одну общую команду и единый подход.

7 марта в 13:00 МСК прошёл первый публичный созвон-стрим, на котором мы постарались обсудить три основные темы:

1. Выбрать финальное название(главный кандидат сейчас — feature-sliced) и подобрать домен
2. Выяснить, что есть feature и entity в рамках методологии
3. Определить roadmap по ближайшим действиям

https://youtu.be/RQBslp8dngA
Forwarded from Сова
В вашем проекте есть monorepo? Может быть вы вынуждены разделять свой код на пакеты, потому что поддерживаете сразу несколько платформ?
Anonymous Poll
46%
Да, у меня yarn workspaces или lerna, или другой способ организации
41%
Нет
13%
Не знаю
Сова пишет…
Attribute-Based Access Control А мы тут изобретаем ABAC, для передачи с сервера на клиент и двусторонней валидации данных. Почему не готовое решение? Большинство готовых решений монструозны и реализованы на XML. Нам требуется простая, но в то же время мощная…
Уже несколько недель думаю как назвать библиотеку для проверки прав в стиле ABAC.

Все самые интересные названия заняты, вот какое-то мучение. Сейчас пришла в голову идея: npmjs.com/can-you

Достаточно хорошо описывает цель: проверка прав?
Как я именую всё в приложении.
Когда читаю код, я хочу понимать намерения автора, что он хотел выразить кодом.

Если я вижу функцию employeeStatusChange, я хочу четко понимать её назначение “сменить статус сотрудника” или же “узнать в каком состоянии находится процесс изменения сотрудника”.

Если коротко, то использую подход:
Namespace + HighContext + LowContext + Action

Примеры выше можно показать так (namespace отсутствует):
employeeStatusChange
employee — high context, в контексте чего выполняется действие
status — low context, нечто принадлежащее родительскому контексту
change — action, что делаем с этим
То есть изменяем статус сотрудника.

А вот пример с выяснением текущего статуса процесса изменения сотрудника, может выглядеть так employeeChangeStatus:
employee — high context, всё так же работаем с сотрудником
change — low context, но здесь уже указываем что работаем с сущностью change принадлежащей сотруднику
status — action, выступает как глагол

Таким образом, можно четко обозначить назначение функции, не добавляя дополнительных слов. Получается коротко и понятно, при условии, что конвенцию понимают все в команде.

А вот как быть БЕЗ конвенции? Как отличить эти функции не превращая имя в месиво вроде readStatusOfEmployeeChanging, которое не отсортировать по имени, потому что тогда сгруппируются все функции начинающиеся с read*, вместо группирования по сущности employee.

P.S.
Если переложить этот подход на точечную нотацию, получится вполне себе вменяемая объектная модель:
employeeChangeStatus -> employee.change.status()

А вот readStatusOfEmployeeChanging уже не перекладывается без полной смены порядка слов, что не очень приятно. Ну и важные слова employee и change теряются в середине и конце названия.
Во время рассуждений о структуре приложения родился вот такой «торт»
У нас тут спор!

Что значит слово tier по вашему мнению? Не гуглить, чисто отсебятину накидайте.
Давненько не проводили TalkStream.

Вот всё, что было https://www.youtube.com/playlist?list=PLRXfqpDVC48YBxB71dx1YRKixd1_6AjmV

Интересен такой формат, стоит продолжать?
Я один не знал, что эту игру можно просто так запустить?
О! JWT should not be your default for sessions

Отправьте в реакт чат, может перестанут новичкам советовать

https://evertpot.com/jwt-is-a-bad-default/
Не понимаю людей, которые отправляют эмодзи с точкой в чат, лишь бы не отправилось большое эмодзи.
Мало того, что телеграм специально сделал фичу для отключения этого персонально, так эти люди запрещают другим видеть большие эмодзи.

Мне нравится, когда они крупные. Нафига вставлять точки?
Forwarded from 🍰 Feature-Sliced Design (core-team)
Всем привет!

Прошло достаточно много времени, но теперь мы готовы представить вам v2.0-beta версию методологии!

Мы постарались изложить здесь:
- Get-started материалы
- Фундаментальные концепции
- Гайды и примеры по применению (включая миграцию с v1)
- Справочный материал по абстракциям
- Общее видение дальнейшего развития методологии

Материал копился и обсуждался достаточно долго, поэтому нам очень важно получить от вас фидбек по текущей версии!
- Можете делиться впечатлениями и замечаниями здесь в чате, в ишьюсах или в дискуссиях (или даже в пулл-реквестах)
- Сейчас для нас крайне важно собрать максимум ваших пожеланий, кейсов, реальных проблем с практики - чтобы обработать их со стороны методологии
- Работа над методологией еще в процессе, многое может поменяться, но фундамент под полноценный релиз v2 - кладется именно сейчас (потому нам так важен объемный и содержательный фидбек)

https://feature-sliced.design/

🍰 Release Notes