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
Pokyny k cvičení
- Přesuň logiku pro výpočet
perimeterdo funkcepolygon_perimeter. - Dokonči definici funkce
polygon_apothempřesunutím příslušné logiky z kontextu. Modulmathje už naimportovaný. - Využij nové dílčí funkce k dokončení definice
polygon_area. - Pomocí takto modularizované funkce
polygon_areavypočí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))