1. Learn
  2. /
  3. Kurser
  4. /
  5. Mjukvaruutvecklingsprinciper i Python

Connected

övning

Refaktorisering för läsbarhet

Att bryta ned längre funktioner i mindre delar förbättrar både läsbarhet och modularitet. I den här övningen ska du refaktorisera en funktion till mindre enheter. Funktionen du ska refaktorisera visas nedan. Observera att du i övningen inte använder docstrings för att spara utrymme – i en verklig tillämpning bör du alltid inkludera dokumentation!

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

Instruktioner

100 XP
  • Flytta logiken för att beräkna perimeter till funktionen polygon_perimeter.
  • Slutför definitionen av funktionen polygon_apothem genom att flytta logiken som visas i kontexten. Modulen math är redan importerad.
  • Använd de nya enhetsfunktionerna för att slutföra definitionen av polygon_area.
  • Använd den mer uppdelade polygon_area för att beräkna arean av en regelbunden hexagon med sidor av längden 10.