1. Learn
  2. /
  3. Курси
  4. /
  5. Принципи Software Engineering у Python

Connected

вправа

Рефакторинг заради читабельності

Рефакторинг довших функцій на менші частини допомагає і з читабельністю, і з модульністю. У цій вправі ви розіб'єте функцію на менші одиниці. Нижче показано функцію, яку потрібно відрефакторити. Зверніть увагу: у вправі ви не використовуватимете докстрінги, щоб зекономити місце; у реальному застосунку обов'язково додавайте документацію!

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

Інструкції

100 XP
  • Перемістіть логіку обчислення perimeter у функцію polygon_perimeter.
  • Завершіть визначення функції polygon_apothem, перенісши туди логіку з контексту. Модуль math уже імпортовано для вас.
  • Скористайтеся новими допоміжними функціями, щоб завершити визначення polygon_area.
  • Використайте оновлену, поділену на одиниці polygon_area, щоб обчислити площу правильного гексагона зі сторонами довжини 10.