Kontrola a refaktorování kódu

Případová studie: Tvorba softwaru v Pythonu

Mark Pedigo

Principal Data Scientist

Přínosy pravidelné kontroly kódu

  • Lepší kvalita kódu
    • Včasné odhalení nesrovnalostí
  • Sdílení znalostí
    • Spolupráce
    • Soulad v týmu
  • Konzistentnost a osvědčené postupy
    • Vysoké standardy

Dva lidé kontrolují kód na počítači

Případová studie: Tvorba softwaru v Pythonu

Příklad kontroly kódu

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

Zpětná vazba k těmto oblastem:

  • Funkčnost
  • Čitelnost
    • Příklad – zbytečné else
  • Hraniční případy
    • Příklad – záporná čísla u faktoriálu
Případová studie: Tvorba softwaru v Pythonu

Přínosy refaktorování kódu

  • Lepší kvalita kódu
  • Snazší údržba
  • Snížení technického dluhu

Spaghetti kód se transformuje do vývojového diagramu

Případová studie: Tvorba softwaru v Pythonu

Příklad refaktorování

# 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
Případová studie: Tvorba softwaru v Pythonu

Nová funkce pro nový vzorec

Původní vzorec $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ kde $m$ je měsíční splátka, $P$ je výše úvěru, $r$ je měsíční úroková sazba a $N$ je počet měsíčních splátek

Nový vzorec $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

Případová studie: Tvorba softwaru v Pythonu

Plán projektu

Plán projektu znázorňující dokončené a plánované části

Případová studie: Tvorba softwaru v Pythonu

Pojďme procvičovat!

Případová studie: Tvorba softwaru v Pythonu

Preparing Video For Download...