エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyアンチパターン: なんでもクラスメソッド
(Ruby初学者向けの啓蒙記事です。「クラスメソッドはクラスクラスのインスタンスの特異メソッドで云々... (Ruby初学者向けの啓蒙記事です。「クラスメソッドはクラスクラスのインスタンスの特異メソッドで云々」みたいな話が得意な人は対象外です。ご了承ください。) クラスメソッドは便利なこともありますが、使いすぎるとよくないコードになってしまいます。 少なくともRubyでは、クラスメソッドは比較的特殊なもので、普通のメソッドはインスタンスメソッドである、と考えるくらいのほうがいいと思います。 典型的な症状 クラス内に定義されているインスタンスメソッドがほとんどない、あるいはまったくないにも関わらず、クラスメソッドがたくさん定義されていたりします クラスメソッドからクラスメソッドの呼び出しが多用されたりします 上記と合わせて、クラスメソッドの引数が増えたりします 生じる問題 どこからでも呼べてしまう インスタンスメソッドはそのメソッドが所属するクラス(or そのサブクラス群)のオブジェクトからしか呼