Sobes.tech
Junior

Čo podľa teba znamená písať kvalitný kód?

sobes.tech AI

Odpoveď od AI

Čistota, čitateľnosť, udržateľnosť, škálovateľnosť a súlad s požiadavkami.

Hlavné aspekty:

  • Čistota a čitateľnosť:

    • Používanie zrozumiteľných, descriptívnych mien premenných, funkcií, tried.
    • Dodržiavanie jednotného štýlu kódovania (sprievodca štýlom kódovania).
    • Primerané formátovanie kódu (odsadenia, medzery).
    • Odstraňovanie duplikácie kódu (DRY - Don't Repeat Yourself).
    • Prítomnosť zrozumiteľných komentárov k nejasným častiam kódu.
  • Udržateľnosť:

    • Jednoduchosť vykonávania zmien a opravy chýb.
    • Modularita: rozdeľovanie funkčnosti na menšie, nezávislé bloky.
    • Nízka väzba (low coupling) a vysoká kohezia (high cohesion).
    • Prítomnosť automatizovaných testov (jednotkové, integračné, end-to-end).
  • Škálovateľnosť:

    • Schopnosť systému spracovať rastúci objem dát alebo záťaže bez podstatného zhoršenia výkonu.
    • Efektívne využívanie zdrojov.
  • Súlad s požiadavkami:

    • Kód správne implementuje biznis logiku a funkčné požiadavky.
    • Chýbajú kritické chyby a zraniteľnosti.

Príklad štruktúry kvalitného testu v Pythone:

# 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í prípad pre úspešné vytvorenie používateľa
    username = "test_user"
    email = "test@example.com"

    # Akcia: Vytvorenie používateľa
    new_user = create_user(username, email)

    # Potvrdenie 1: Kontrola, či bol objekt používateľa vytvorený
    assert isinstance(new_user, User)

    # Potvrdenie 2: Kontrola, či je používateľské meno správne
    assert new_user.username == username

    # Potvrdenie 3: Kontrola, či je email správny
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Testovací prípad pre zlyhanie kvôli duplicitnému používateľskému menu
    username = "existing_user"
    email = "another@example.com"

    # Predpoklad: Vytvorenie existujúceho používateľa
    create_user(username, "existing@example.com")

    # Akcia a potvrdenie: Pokus o vytvorenie používateľa s duplicitným používateľským menom a očakávanie výnimky
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... ďalšie testovacie prípady ...