generated at
メソッドとクラスを作る基準
プログラムを分割して可読性をあげるためにどうすべきか

メソッドクラスは、実は作らなくてもプログラムは動く
しかし、ものすごく可読性が低い
そのため一連の動作をメソッドとして切り離し、可読性をあげるとともに処理の使いまわしを可能にしている
いくつかのメソッドを行える存在をクラスとして定義することで、実体が存在しているかのように扱える

なくても動く以上、メソッドとクラスはどう作っても自由である
自由というのは意外と困る
どうしていいかわからなくなる
ではどういう基準で作ればいいのだろうか

メソッドを作る基準
「名前がつけれる処理ならメソッドにする」
ある処理に対して適切に名前をつけられるなら、その処理はメソッドにするべき
名前をつけるのに困るような処理なら、その処理はメソッドにすべきでない
その処理の長さはあまり関係がない
長い処理でも名前が付けれないならメソッドにすべきでない
1行の処理でもその行を見て何をやっているのか秒でわからないならメソッドにすべき
インターン先でプロがそうしてた!

クラスを作る基準
「この変数群、まとめて配列にしたいなと思ったらクラスにする」
クラスに対するとらえ方を身に着けるのに時間がかかった
クラス=メソッドの集合体だと思っていた
クラス=変数の集合体と考えると途端に扱いやすくなった
例外として、以下の場合もクラスにする
めっちゃ広く使いまわしたいメソッドがあるとき
コンストラクタゲッターセッターを用意するだけでただの変数の塊がクラスっぽくなる
クラスの相互依存関係はやめたほうがいい
必ずクラス同士は上下関係で結ぶこと

新人博士の独断と偏見だけどこれでだいぶメソッドとクラスを書きやすくなった