Przegląd i refaktoryzacja kodu

Studium przypadku: tworzenie oprogramowania w Pythonie

Mark Pedigo

Principal Data Scientist

Zalety regularnego przeglądu kodu

  • Lepsza jakość kodu
    • Wczesne wykrywanie niespójności
  • Dzielenie się wiedzą
    • Współpraca
    • Spójność działań
  • Spójność i dobre praktyki
    • Wysokie standardy

Dwie osoby przeglądające kod na komputerze

Studium przypadku: tworzenie oprogramowania w Pythonie

Przykład przeglądu kodu

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

Przekaż uwagi dotyczące:

  • Funkcjonalności
  • Czytelności
    • Przykład – zbędny else
  • Przypadków brzegowych
    • Przykład – liczby ujemne w silni
Studium przypadku: tworzenie oprogramowania w Pythonie

Zalety refaktoryzacji kodu

  • Lepsza jakość kodu
  • Łatwiejsze utrzymanie
  • Zmniejszony dług techniczny

Spaghetti przekształca się w schemat blokowy

Studium przypadku: tworzenie oprogramowania w Pythonie

Przykład refaktoryzacji

# 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
Studium przypadku: tworzenie oprogramowania w Pythonie

Nowa funkcja dla nowego wzoru

Poprzedni wzór $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ gdzie $m$ to miesięczna rata, $P$ to kwota pożyczki, $r$ to miesięczna stopa procentowa, a $N$ to liczba rat

Nowy wzór $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

Studium przypadku: tworzenie oprogramowania w Pythonie

Mapa drogowa

Mapa drogowa pokazująca ukończone i rozpoczynane etapy projektu

Studium przypadku: tworzenie oprogramowania w Pythonie

Czas na ćwiczenia!

Studium przypadku: tworzenie oprogramowania w Pythonie

Preparing Video For Download...