Sobes.tech
Junior

Ką, tavo manymu, reiškia rašyti kokybišką kodą?

sobes.tech AI

Atsakymas iš AI

Švarumas, skaitomumas, palaikymas, mastelio keitimas ir atitiktis reikalavimams.

Pagrindiniai aspektai:

  • Švarumas ir skaitomumas:

    • Naudoti aiškius, aprašomuosius kintamųjų, funkcijų, klasių pavadinimus.
    • Laikytis vienodo kodo rašymo stiliaus (kodo stiliaus vadovas).
    • Tinkamas formatavimas (įtraukos, tarpai).
    • Kodo dubliavimosi šalinimas (DRY - Don't Repeat Yourself).
    • Aiškūs komentarai neaiškiems kodo segmentams.
  • Palaikymas:

    • Lengva atlikti pakeitimus ir pataisyti klaidas.
    • Modulinė struktūra: funkcionalumo padalijimas į mažus, nepriklausomus blokus.
    • Mažas sujungimas (low coupling) ir didelis kohesija (high cohesion).
    • Automatiniai testai (vienetinis, integracinis, galutinis).
  • Mastelio keitimas:

    • Sistemos gebėjimas apdoroti didėjantį duomenų kiekį ar apkrovą be reikšmingo našumo sumažėjimo.
    • Efektyvus išteklių naudojimas.
  • Atitiktis reikalavimams:

    • Kodas teisingai įgyvendina verslo logiką ir funkcinius reikalavimus.
    • Nėra kritinių klaidų ir pažeidžiamumų.

Pavyzdys kokybiško testo Python'e:

# 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():
    # Sėkmingo naudotojo kūrimo testas
    username = "test_user"
    email = "test@example.com"

    # Veiksmas: naudotojo sukūrimas
    new_user = create_user(username, email)

    # Patvirtinimas 1: Patikrinti, ar sukurtas naudotojo objektas
    assert isinstance(new_user, User)

    # Patvirtinimas 2: Patikrinti, ar naudotojo vardas teisingas
    assert new_user.username == username

    # Patvirtinimas 3: Patikrinti, ar el. paštas teisingas
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Dublikuojančio vardo testas
    username = "existing_user"
    email = "another@example.com"

    # Išankstinis veiksmas: sukurti esamą naudotoją
    create_user(username, "existing@example.com")

    # Veiksmas ir patvirtinimas: bandymas sukurti naudotoją su dublikuojamu vardu ir tikėtina išimtis
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... kiti testai ...