Рефакторинг заради читабельності
Рефакторинг довших функцій на менші частини допомагає і з читабельністю, і з модульністю. У цій вправі ви розіб'єте функцію на менші одиниці. Нижче показано функцію, яку потрібно відрефакторити. Зверніть увагу: у вправі ви не використовуватимете докстрінги, щоб зекономити місце; у реальному застосунку обов'язково додавайте документацію!
def polygon_area(n_sides, side_len):
"""Find the area of a regular polygon
:param n_sides: number of sides
:param side_len: length of polygon sides
:return: area of polygon
>>> round(polygon_area(4, 5))
25
"""
perimeter = n_sides * side_len
apothem_denominator = 2 * math.tan(math.pi / n_sides)
apothem = side_len / apothem_denominator
return perimeter * apothem / 2
Ця вправа є частиною курсу
Принципи Software Engineering у Python
Інструкції до вправи
- Перемістіть логіку обчислення
perimeterу функціюpolygon_perimeter. - Завершіть визначення функції
polygon_apothem, перенісши туди логіку з контексту. Модульmathуже імпортовано для вас. - Скористайтеся новими допоміжними функціями, щоб завершити визначення
polygon_area. - Використайте оновлену, поділену на одиниці
polygon_area, щоб обчислити площу правильного гексагона зі сторонами довжини 10.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
def polygon_perimeter(n_sides, side_len):
return ____
def polygon_apothem(n_sides, side_len):
denominator = ____
return side_len / denominator
def polygon_area(n_sides, side_len):
perimeter = ____
apothem = ____
return perimeter * apothem / 2
# Print the area of a hexagon with legs of size 10
print(____(n_sides=6, side_len=10))