要は、コンポーネント単位で考えようねっていう話。
ひいては、コンポーネントの考え方は個人で異なるから、その基準の考え方を与えるねっていうこと。
Atomic Designは単純解明であるから、足りない概念(例えば、Atomsは最小の単位という定義だが、アイコンとセットでしか使えないボタンはAtomsになるのか、背景色もAtomsになるのかなど)が生じるが、それはAlt Atomic Designなどの発展させたアイデアで書き足されていたりする。
CSSやReactなどのコンポーネント開発においては、
ものごとを分類して整理する方法は、明文化したとしても必ず人の解釈によって不確実なものになったり、例外が発生する。
必ずしも正解は存在しない。だから、当事者で考えさせるような仕組みと、自分のモノサシを強要しない、許容していく雰囲気づくりこそが規約をまとめる上での真髄だといえる。
まあそもそもAtomic Designはデザインと開発両面の効率化にあるので、規約そのものを守ることよりも、その規約を理解したうえで自分のなかでどのような意見が生まれそれを一貫性を持って使えるか(モノサシ化できるか)が大事。
規約を守りすぎることはマイナスになるし、そこまで重要ではない。規約が邪魔になって時間をロスしてしまい、本質であるプロジェクトに注力できないようでは意味がない。
そもそもAtomic Designのシンプルな定義では、完璧を求めることは困難である。
つまり、Atoms層は、「それ以上UIとしての機能性を破壊しない最小要素」となるように分割します。
https://amzn.to/3o5tGLU
常識はその土地によって異なるように、プラットフォーム(視点)が変われば、AtomsがAtomsじゃなくなったりすることもあるよね。
でもそれを自分で説明できるようになっていれば、それはAtomic Designを使えているという証。
追記:でもBEMってクラス名みただけで役割わかるから、一番いいよね???