self.を多用する訳
以前、日記のネタにしたことがあるが、Ruby特にRailsのソースを見るとクラスのコンテキストでやたら"self.〜"が使われていることが解る。
def self.up 〜 とか、 〜 = self.new
他の言語に慣れた身からすると違和感があったのだが、後々クラス名が変わった際にソースコードを変更する必要が無いのでリファクタリングしやすいし、Railsに限って言えば、generateのようにコードを自動生成する際に変更する部分が少なくて済む。これって凄いスマートだ。
これに気がついた時はおおおおおっ!!と思ったのだが、Rails本を含め色々な所にイディオムとして既に書かれてた。 当たり前だよな。