Методы рефакторинга кода. Встроенный метод.

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

 

 

 

 

 

 

 

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

Чтобы встроить метод calculate_tax в метод calculate_total_cost с помощью техники "inline method", нужно просто заменить вызов calculate_tax на тело метода calculate_tax:

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_total_cost более лаконична, но она также может быть сложнее для понимания, если метод calculate_tax является сложным. Важно тщательно взвесить компромиссы при инлайнинге метода и выбрать подход, который сделает ваш код наиболее удобным для сопровождения и легким для понимания.