サンドイッチメソッドの抽出 - どんなとき?ほぼ同じコードによる2つのメソッドがあり、違いはメソッドのちょうど中頃にある。どうすれば?重複部分を抽出して、ブロック付きのメソッドにする。この種のメソッドは、呼び出し元に一時的に制御を返してくる。呼び出し元は、制御を返されたときに実行するコードをブロック内に記述する。たとえば?Before def charge(amount, credit_card_number) begin connection = CreditCardServer.connect() connection.send(amount, credit_card_number) rescue IOError => e Logger.log "Could not submit order #{@order_number} to the server: #{e}" return ni