Sobes.tech
Junior

Ko, tavuprāt, nozīmē rakstīt kvalitatīvu kodu?

sobes.tech AI

Atbilde no AI

Tīrība, lasāmība, uzturējamība, mērogojamība un atbilstība prasībām.

Galvenie aspekti:

  • Tīrība un lasāmība:

    • Izmantot saprotamus, aprakstošus mainīgo, funkciju un klases nosaukumus.
    • Sekot vienotam koda stila vadlīnijām.
    • Atbilstoša koda formatēšana (rindkopas, atstarpes).
    • Koda dublēšanās novēršana (DRY - Don't Repeat Yourself).
    • Saprotami komentāri neskaidriem koda fragmentiem.
  • Uzturējamība:

    • Viegls izmaiņu veikšana un kļūdu labošana.
    • Moduļu struktūra: funkcionalitātes sadalīšana mazākos, neatkarīgos blokos.
    • Zema saistība (low coupling) un augsta kohēzija (high cohesion).
    • Automatizēti testi (vienību, integrācijas, galapunkta).
  • Mērogojamība:

    • Sistēmas spēja apstrādāt pieaugošu datu apjomu vai slodzi bez būtiska veiktspējas krituma.
    • Resursu efektīva izmantošana.
  • Atbilstība prasībām:

    • Kods pareizi īsteno biznesa loģiku un funkcionālos prasības.
    • Nav kritisku kļūdu un ievainojamību.

Kvalitatīva testa Python struktūras piemērs:

# 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():
    # Veiksmīga lietotāja izveides tests
    username = "test_user"
    email = "test@example.com"

    # Darbība: lietotāja izveide
    new_user = create_user(username, email)

    # Apstiprinājums 1: Pārbaudīt, vai lietotāja objekts ir izveidots
    assert isinstance(new_user, User)

    # Apstiprinājums 2: Pārbaudīt, vai lietotāja vārds ir pareizs
    assert new_user.username == username

    # Apstiprinājums 3: Pārbaudīt, vai e-pasts ir pareizs
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Dublējoša lietotāja vārda tests
    username = "existing_user"
    email = "another@example.com"

    # Iepriekšējs nosacījums: izveidot esošu lietotāju
    create_user(username, "existing@example.com")

    # Darbība un apstiprinājums: mēģinājums izveidot lietotāju ar dublētu vārdu un sagaidāma izņēmuma izsaukšana
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... citi testi ...