Meninjau dan merefaktor kode

Studi Kasus: Membangun Perangkat Lunak dengan Python

Mark Pedigo

Principal Data Scientist

Manfaat tinjauan kode berkala

  • Kualitas kode meningkat
    • Tangkap inkonsistensi sejak awal
  • Berbagi pengetahuan
    • Kolaborasi
    • Tetap selaras
  • Konsistensi dan praktik terbaik
    • Standar tinggi

Dua orang meninjau kode di komputer

Studi Kasus: Membangun Perangkat Lunak dengan Python

Contoh tinjauan kode

def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result

Beri umpan balik tentang:

  • Fungsionalitas
  • Keterbacaan
    • Contoh - else tidak perlu
  • Kasus tepi
    • Contoh - Bilangan negatif untuk faktorial
Studi Kasus: Membangun Perangkat Lunak dengan Python

Manfaat refactoring kode

  • Kualitas kode meningkat
  • Perawatan lebih mudah
  • Utang teknis berkurang

Spageti diubah menjadi bagan alir

Studi Kasus: Membangun Perangkat Lunak dengan Python

Contoh refactoring

# Original code
def factorial(n):
    if n == 0:
        return 1
    else:
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result
# Refactored code
def factorial(n):
    if n < 0:
        raise ValueError("Not defined")

if n == 0: return 1
result = 1 for i in range(1, n + 1): result *= i return result
Studi Kasus: Membangun Perangkat Lunak dengan Python

Fungsi baru untuk rumus baru

Rumus sebelumnya $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ di mana $m$ adalah cicilan bulanan, $P$ adalah jumlah pinjaman, $r$ adalah suku bunga bulanan, dan $N$ adalah jumlah cicilan bulanan

Rumus baru $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

Studi Kasus: Membangun Perangkat Lunak dengan Python

Peta jalan

Peta jalan yang menampilkan bagian proyek yang sudah selesai dan yang akan dimulai

Studi Kasus: Membangun Perangkat Lunak dengan Python

Ayo berlatih!

Studi Kasus: Membangun Perangkat Lunak dengan Python

Preparing Video For Download...