Методы рефакторинга кода. Извлечение метода.

Техника рефакторинга "извлечение метода" предполагает взятие участка кода, выполняющего определенную задачу, и создание для него нового метода, а затем замену исходного кода вызовом нового метода. Это может сделать код более организованным и более удобным для чтения и сопровождения.

 

 

 

 

 

 

Programming

Примеры изпользования метода

Рассмотрим пример того, как вы можете использовать технику "извлечения метода" для рефакторинга кода. Предположим, у вас есть метод, который вычисляет общую стоимость заказа, включая налог и доставку:

def calculate_total_cost(self, order):
  total_cost = 0
  for item in order.items:
    total_cost += item.price
  total_cost += order.shipping_cost
  total_cost *= 1.08 # add 8% sales tax
  return total_cost

Для рефакторинга этого кода с помощью техники "извлечения метода" можно создать новый метод calculate_tax, который принимает в качестве аргумента общую стоимость и возвращает общую стоимость с учетом налога:

def calculate_tax(self, total_cost):
  return total_cost * 1.08
def calculate_total_cost(self, order):
  total_cost = 0
  for item in order.items:
    total_cost += item.price
  total_cost += order.shipping_cost
  total_cost = self.calculate_tax(total_cost)
  return total_cost

Эта переработанная версия метода calculate_total_cost более упорядочена и удобна для чтения, а также облегчает модификацию расчета налогов простым изменением метода calculate_tax.