Feature-Sliced Design
https://gyazo.com/6f1daf211193d23a201130a70dc07b4f
shared — reusable functionality, detached from the specifics of the project/business. (e.g. UIKit, libs, API)
entities — business entities. (e.g., User, Product, Order)
features — user interactions, actions that bring business value to the user. (e.g. SendComment, AddToCart, UsersSearch)
widgets — compositional layer to combine entities and features into meaningful blocks. (e.g. IssuesList, UserProfile)
pages — compositional layer to construct full pages from entities, features and widgets.
processes (deprecated) — complex inter-page scenarios. (e.g., authentication)
app — app-wide settings, styles and providers.
またうさんくせえのが出てきたな、と思ったmiyamonz.icon
が、featuresとentitiesという考えは、考える余地はあるかもしれん
ここらへんの考え事とちょっとだけ近いかもしれない
ただ、どっちにも当てはまるとかもありうるので、このレイヤは合体させても良いような…
これが目的ドリブンなのか、モノっぽいものなのか、みたいな区別はつくかもしれないが、その区別をフォルダ名に持ち上げなくていいと思う
どちらにも分類できないときにも苦しむ
widgetsはなんやねんと思う
良いと思うなら使う。
良いと思うものをチームで使うなら、チームのメンバーが納得できるような理屈を説明、説得をするとよい(仕事なので100%の納得ができなくてもよい。最終的な判断はリーダがする)
Atomic Designにも感じるようなカーゴカルト・プログラミングみを感じる
この画像の中の概念名について、すべてに分かりやすい説明ができる?
無理じゃね?
featuresとentitiesの違いって何?
sliceとsegmentの違いは?
フォルダ構造をこういう感じで組織化するのは分類学のようなもの
生物は進化の系統があるので木構造になる。分類がやりやすい
概念ってMECEじゃないし分類が難しい
あと、それよりも、わざわざwebサイトとgithubリポジトリ作って、何がしたいの?ということを問うたほうがいい
ブランディング?書籍販売?
なんか、やってる感出したいだけじゃね?
バズりたがり?