M

FIRST を読んだメモ

Mar 19, 2024

Components Should Be Focused, Independent, Reusable, Small And Testable (FIRST) を読んで、メモ。

  • Addy Osmani氏のブログ記事。
  • コンポーネントの設計についての内容。
  • UIコンポーネントに限らず、いわゆるソフトウェアのコンポーネント全般に共通する話。
  • どのような領域でも、大きいコンポーネントは小さいコンポーネントよりメンテナンスが難しくなる。
  • 大きいものを効率的に作るのは、最初から作らなければ良い。
    • 小さく、焦点を絞ったコンポーネントから大きいものへの構成していけば良い。
  • いくつかの理由でモジュール性を高めたり、焦点を絞ることが重要。
    • 小さいAPI
    • 再利用性が時間を節約する
      • コンポーネントは再利用されて欠点を磨かれていくほど再利用性が向上する。
    • コンポーザビリティー向上
      • 既存コンポーネントから新しいコンポーネントを作ることが容易になる。1から実装するものを減らせる。
    • 関心の分離
      • コンポーネント毎に特定の関心だけを持っていれば、他のコンポーネントとの結合は少なくできる。
    • デバッグ容易
      • 細分化されたコンポーネントから、問題の特定および修正が容易になる。
    • 理解容易
      • 大きいシステムでも分割して小さい粒度で切り分けて理解しやすくできる。
  • 焦点を絞る、という点に関しては注意深さが必要。
    • 利用されないものをまとめてしまうと、コンポーネントの再利用性が下がる。
  • コンポーネントを作るときに気に留めておくと良いこととして、FIRSTというアクロニム。
    • Keep it (F)ocused.

    • Keep it (I)ndependent.

    • Keep it (R)eusable.

    • Keep it (S)mall.

    • Keep it (T)estable.

  • 関心事にフォーカスし、独立性を保ち、再利用性を高め、小さくして、テスタブルに。