データ値からオブジェクトへ(Replace Data Value with Object)

コードの臭い

データやふるまいの追加を必要とするデータ項目がある。

テストコード

# rspec

describe Client do
  describe 'self.number_of_orders_for(orders, customer)' do
    let(:order_1) { Order.new('customer_1') }
    let(:order_2) { Order.new('customer_1') }
    let(:order_3) { Order.new('customer_2') }
    let(:orders) { [order_1, order_2, order_3] }
    let(:customer) { 'customer_1' }
    subject { Client.number_of_orders_for(orders, customer) }
    it { should == 2 }
  end
end

※参考資料
 リファクタリング:Rubyエディション