Рефакторинг, первый примерСтраница 16

Перенос расчёта задолженности

Взглянув на метод amountFor, можно увидеть, что он использует информацию из Rental, но не использует ничего из Customer.

  class Customer...
    private double amountFor( Rental aRental) {
      double result = 0;
      switch( aRental.getMovie().getPriceCode()) {
        case Movie.REGULAR:
          result += 2;
          if( aRental.getDaysRented()>2)
            result += ( aRental.getDaysRented()-2)*1.5;
          break;

        case Movie.NEW_RELEASE:
          result += aRental.getDaysRented()*3;
          break;

        case Movie.CHILDRENS:
          result += 1.5;
          if( aRental.getDaysRented()>3)
            result += ( aRental.getDaysRented()-3)*1.5;
          break;
      }
      return result;
    }



Оглавление | << страница 15 | страница 17 >>