Ruby のクラス << self と self.method: どちらが良いですか? 質問する

Ruby のクラス << self と self.method: どちらが良いですか? 質問する

これRuby スタイルガイドself.method_nameは、 の代わりにを使用する方がよいことを示していますclass method_name。しかし、なぜでしょうか?

class TestClass
  # bad
  class << self
    def first_method
      # body omitted
    end

    def second_method_etc
      # body omitted
    end
  end

  # good
  def self.first_method
    # body omitted
  end

  def self.second_method_etc
    # body omitted
  end
end

パフォーマンスの問題はありますか?

ベストアンサー1

class << selfすべてのクラス メソッドを同じブロック内に保持するのに適しています。フォーム内でメソッドが追加される場合は、def self.method(慣習と希望的観測を除いて) ファイルの後半に余分なクラス メソッドが隠されないという保証はありません。

def self.methodは、メソッドがクラスメソッドであることを明示的に示すのに優れていますが、 では、class << selfコンテナーを自分で探す必要があります。

これらのうちどれがより重要であるかは主観的な判断であり、他に何人の人がコードに取り組んでいるか、またその人の好みは何かといった要素によっても異なります。

おすすめ記事