Intention Revealing Selector

メソッドには、そのメソッドが何を実現しているかにちなんだ名前をしましょう。

メソッドの命名に関するパターンです。
メソッドの命名でついやってしまいがちなのが、そのメソッドが仕事をどのようにして実現しているかまでをメソッド名に含めてしまうという名付け方です。

class Array
  def linear_search_for(target)
    ...
  end
end

しかし、このような名付け方は、メソッドが使用するオブジェクトやロジックを限定してしまうことになり、プログラミングの柔軟性を妨げてしまう可能性があります。
柔軟性をもったプログラミングを行いたい場合、メソッドにはそのメソッドが何を実現しているか*1にちなんだ名前を付けましょう。どのように実現しているかは、メソッド本体に任せるべきです。

class Array
  def include?(target)
    ...
  end
end

*1:何を実現しているかについては、異なる方法で実現した場合でも名前として妥当性をもつくらい抽象化を行いましょう