Sobes.tech
Junior

Co podle tebe znamená psaní kvalitního kódu?

sobes.tech AI

Odpověď od AI

Čistota, čitelnost, udržovatelnost, škálovatelnost a shoda s požadavky.

Hlavní aspekty:

  • Čistota a čitelnost:

    • Použití srozumitelných, popisných názvů proměnných, funkcí a tříd.
    • Dodržování jednotného stylu kódování (guidelines).
    • Správné formátování kódu (odsazení, mezery).
    • Odstraňování duplicit kódu (DRY - Don't Repeat Yourself).
    • Jasné komentáře k ne zcela zřejmým částem kódu.
  • Udržovatelnost:

    • Snadnost provádění změn a oprav chyb.
    • Modularita: rozdělení funkcionality na malé, nezávislé bloky.
    • Nízké propojení a vysoká koheze.
    • Automatizované testy (unit, integrace, end-to-end).
  • Škálovatelnost:

    • Schopnost systému zpracovávat rostoucí objem dat nebo zátěž bez podstatného zhoršení výkonu.
    • Efektivní využívání zdrojů.
  • Shoda s požadavky:

    • Kód správně implementuje obchodní logiku a funkční požadavky.
    • Chybí kritické chyby a zranitelnosti.

Příklad struktury kvalitního testu v Pythonu:

# filename: test_user_creation.py

import pytest
from my_application.models import User
from my_application.services import create_user

def test_user_creation_successful():
    # Testovací případ úspěšného vytvoření uživatele
    username = "test_user"
    email = "test@example.com"

    # Akce: Vytvoření uživatele
    new_user = create_user(username, email)

    # Kontrola 1: Ověření, že byl vytvořen uživatelský objekt
    assert isinstance(new_user, User)

    # Kontrola 2: Ověření, že uživatelské jméno je správné
    assert new_user.username == username

    # Kontrola 3: Ověření, že email je správný
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Testovací případ selhání při duplicitním uživatelském jménu
    username = "existing_user"
    email = "another@example.com"

    # Předpoklad: Vytvoření existujícího uživatele
    create_user(username, "existing@example.com")

    # Akce a kontrola: Pokus o vytvoření uživatele s duplicitním jménem a očekávání výjimky
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... další testovací případy ...