Перейти к основному содержимому

Адаптивность нейминга

Проблема#

В силу того, что у каждого разработчика свой опыт и контекст разработки - мы по-разному привыкли называть одни и те же сущности, что может привести к недопониманию внутри команды.

  • Компоненты для отображения - ui / components / ui-kit / views / ...
  • Код переиспользуемый во всех частя приложения - core/ shared / app / ...
  • Код бизнес логики - store / model / state / ...

Нейминг в feature-sliced#

Методология оперирует такими терминами, как

  • app, process, page, feature, entity, shared - layers
  • ui, model, lib, api - segments

В рамках методологии, каждый из этих терминов имеет четкое определение

Разрабатывая проект по методологии feature-sliced очень важно придерживаться оригинального нейминга, во избежание недопонимания как среди членов команды, так и за её пределами.

  • Если на проект приходит новый разработчик знакомый с методологией, он должен видеть уже знакомые ему термины
  • Обращаясь за помощью в комьюнити, вы быстрее получите ответ на ваш вопрос, если будете использовать туже терминологию

Когда нейминг может помешать?#

Разрабатывая проект, для отображения/построения/моделирования каких либо процессов, или разрабатывая приложение для верстки страниц журнала, вы можете столкнуться с проблемой, что термины используемые в методологии пересекаются с терминами которыми оперирует ваш бизнес.

  • feature-sliced#process vs моделируемый процесс в вашем приложении
  • feature-sliced#page vs страница журнала
  • feature-sliced#model vs модель автомобиля

Такие коллизии имен могут негативно отразится на процессе разработки.

  • Разработчик видя слово процесс в коде, будет тратить лишнее время на понимание, о каком процессе идет речь

  • Общаясь внутри команды разработчиков, говоря слово процесс, все участники разговора должны четко понимать о чем идет речь, о процессе как бизнес сущности или о процессе из feature-sliced.

  • Общаясь с бизнесом, разработчики иногда употребляют технические термины с которыми бизнес не знаком. Так разработчик, употребив термин процесс, имея в виду процесс из feature-sliced, внесет непонимание в разговор, что может потребовать дополнительного времени на разъяснение

См. также#