コンポーネント
コンポーネント(部品)をつくって、それを組み合わせていくプログラムする手法があります。
サーバサイドではオブジェクト指向の言語だと、クラスをつくって使い回せるようにという考えは、僕がプログラムしだしたころから一般的だった気がします。
厳密に言うとクラスとコンポーネントは違いますが、部品を作るという発想は近いと思います。
フロントエンドではあまり部品をつくるという発想はなかったんですが、最近VueやReactが注目を浴びることで、コンポーネントという考え方が一般化してきる気がします。
注目を浴びる=良い
ということですよね。
時代が変わって他の画期的な手法が出てくるかもですが、現時点ではかなり良い手法ではないかと思います。
個人的に良いと思うのは、
- 他に使い回しやすくなること
- 部品単位なのでメンテナンスや単体テストしやすいこと
- 依存関係をスッキリさせることができること
です。
ただ従来のやり方に満足している人たちには、このメリット伝えても全然感動しないんですよね。
「使い回すんやったら、コピペで良いやん」とか言い出す人もいるでしょう。
「部品を作って他に持っていくのとコピペは全然違うねん!」「プログラムってのは依存関係を意識しておくのが良いんだよ」とかいっても響かないんですよね。
・・・愚痴っちゃいましたが、コンポーネント良い考えだと思います。
まだやったことない人は騙されたと思ってやってみてほしいです。
小さな単位
コンポーネントの作り方や粒度、プログラミングの方法は、色々良いとされる原理原則ありますが、それを最初に全て知ろうとすると時間がかかってしまいます。
とりあえず、最初はできる範囲で部品にわけて、次のプログラムにも活かせるかもぐらいで作るのが個人的には良いのではないかと思います。
で、僕がそれを実践した結果、今のところ小さな単位でコンポーネントを作るほうが良いなと思ってます。
小さすぎるとファイル多くなるし、データの流れが複雑、マトリョーシカとか言われるかもですが、
僕はデータがたらい回しにされようが、理にかなった設計であれば問題ないと思ってます。
コンポーネントとか小さい単位とか言い出した理由
なんでこんな話を書いたかと言うと、Qiita書くネタがないわけじゃないんですが、
Qiita書く場合、結構最初から最後まで完結して1つにまとまってる記事のほうが多いなって思って、
自分もそれで書こうと思うと、知識不足だったり、文章力がなかったりで「やべぇうまくかけない」ってなっちゃったんですね。
だからコンポーネントの考えで、
部分部分で小さく1つの記事にしちゃおうって思ったわけです。
記事とプログラム違うからとか言われると元も子もないですが、
1つにまとまってるのを最初から最後まで読んで理解するってなかなか大変な人も多いんじゃないかな。
ほんとに最小限で今日はここまでみたいな記事も需要あるんじゃないかという推測です。
というわけで僕は基本小さい単位で記事書く!
(これで継続投稿しやすくなるわー)