MulaiMulai sekarang secara gratis

Refactoring untuk keterbacaan

Memecah fungsi yang panjang menjadi unit-unit yang lebih kecil dapat membantu keterbacaan dan modularitas. Pada latihan ini, Anda akan melakukan refactoring sebuah fungsi menjadi unit yang lebih kecil. Fungsi yang akan Anda refactor ditunjukkan di bawah ini. Perhatikan, dalam latihan ini, Anda tidak akan menggunakan docstring demi menghemat ruang; dalam aplikasi nyata, Anda sebaiknya tetap menyertakan dokumentasi!

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

Latihan ini adalah bagian dari kursus

Prinsip Rekayasa Perangkat Lunak di Python

Lihat Kursus

Petunjuk latihan

  • Pindahkan logika perhitungan perimeter ke dalam fungsi polygon_perimeter.
  • Lengkapi definisi fungsi polygon_apothem dengan memindahkan logika yang terlihat pada konteks. Modul math sudah diimpor untuk Anda.
  • Gunakan fungsi-fungsi unit baru tersebut untuk melengkapi definisi polygon_area.
  • Gunakan polygon_area yang lebih terunitisasi untuk menghitung luas poligon beraturan dengan 6 sisi (heksagon) dan panjang sisi 10.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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))
Edit dan Jalankan Kode