Začněte nyníZačněte zdarma

Refaktoring pro lepší čitelnost

Rozdělení delších funkcí na menší celky zlepšuje jak čitelnost kódu, tak jeho modularitu. V tomto cvičení refaktoruješ funkci na menší části. Funkce, kterou budeš refaktorovat, je zobrazena níže. Poznámka: v tomto cvičení kvůli úspoře místa docstringy nepoužíváme – v reálné aplikaci bys je ale rozhodně zahrnout měl/a!

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

Toto cvičení je součástí kurzu

Principy softwarového inženýrství v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přesuň logiku pro výpočet perimeter do funkce polygon_perimeter.
  • Dokonči definici funkce polygon_apothem přesunutím příslušné logiky z kontextu. Modul math je už naimportovaný.
  • Využij nové dílčí funkce k dokončení definice polygon_area.
  • Pomocí takto modularizované funkce polygon_area vypočítej obsah pravidelného šestiúhelníku s délkou strany 10.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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))
Upravit a spustit kód