insidefrontend / issue2-ama

AMA ブースで聞いてみたい質問をこの Repo の Issue として Submit ください(どなたでも!)
19 stars 8 forks source link

コンポーネントって、大きくつくって細かく砕きますか?細かくつくって大きく組みますか? #9

Open ahomu opened 6 years ago

ahomu commented 6 years ago

質問をしたいAMAブース

質問

表題の通りです。ケースバイケースなようにも思いますが傾向としてどんな感じでしょうか...。使用するライブラリ間の傾向に違いがあったら面白いかも。

p1xb1t commented 6 years ago

回答

穴井さん: Vue.jsの場合、子要素がshallow()でテストできない。そのため、テストベースで考えるなら大きいコンポーネントを作って、必要に応じて共通化できるところを分ける感じが合っているのでは。Reactは細かくても良い気がする。
加藤さん: デザイナーは先にモックを見せなきゃいけないので、実装の段階ですでにデザインカンプという大きいものが出来上がっている状態。それをエンジニアとデザイナーで相談しながら細かく分けていく。
伊藤さん: デザイナーと相談しながら大きいところから崩して共通化していく。細かく共通化しようと思っても、意外と共通化できることは少ない。
加藤さん: 見た目は同じだけどビジネス要件的には、やってる振る舞いは全く違うみたいなことがある。AtomicDesignなどを活用して、共通化できるものは共通化しようとしていたが、ビジネス要件的なものに縛られて共通化できない場合が多く、無理に共通化するよりも、大きいものを崩すほうが結果的にコスト小になる。
伊藤さん: フロントエンドエンジニアとデザイナーで共通化したいものが違うというのも難しいところ。そこを別の仕組みで管理したいという欲求はある。