Qiitaで読んだオブジェクト指向の記事が面白かったのでメモ
いちいち中の処理まで見ていたら効率悪いわけです。みなさんも、文字を出力しようとするたびにStringクラスの処理内部まで見に行ったりしないですよね
カプセル化の神髄は「見れないようにする」ではなく「見なくてもいいようにする」という点にあります。オブジェクト指向はコードを読む人のためにあるのですから、中身を読まなきゃ処理がわからない時点でカプセル化は崩されてます。
メソッド名が長いというのは「色々とさせすぎている」というバロメーターにもなります。なので本当はあんまりいいことではないのですが、最初から完璧を目指すのは難しいかと思います。なので最初はメソッド名が長くなっちゃっても仕方ないです。ただ何をしているかクラスやメソッドだけである程度正確にわかるというのは心掛けるようにするとよいと思います。
- クラスやメソッドだけ見て何の処理がされるかある程度正確にわかるように名前付けする
- クラス名やメソッド名が短くなるように分割する
- メンバ変数やメソッドをそのクラスに関係のあるものだけに整理する
- 基本的に1つの処理は、他の暗黙的制約なしで呼び出せるようにする
- 「このクラスの役割は何か」というポイントで整理する
- あとから変わる可能性の高い部分はインタフェースにして分離しておく
オブジェクト指向系の話はRailにはそのまま当てはまらない部分も多いけど、参考になる部分もたくさんあるな。