Sobes.tech
Junior

Sənin fikrincə, keyfiyyətli kod yazmaq nə deməkdir?

sobes.tech Süni İntellekt

AI-dan cavab

Təmizlik, oxunaqlılıq, saxlanma, miqyaslandırma və tələblərə uyğunluq.

Əsas aspektlər:

  • Təmizlik və oxunaqlılıq:

    • Dəyişənlər, funksiyalar və sinflər üçün başa düşülən, təsviri adlar istifadə etmək.
    • Bir standart kodlama tərzi rəhbərliyinə riayət etmək.
    • Kodun düzgün formatlaşdırılması (tabaq, boşluqlar).
    • Kod təkrarlamasını aradan qaldırmaq (DRY - Don't Repeat Yourself).
    • Kodun qeyri-aydın hissələri üçün aydın şərhlər.
  • Saxlanma:

    • Dəyişikliklər etmək və səhvləri düzəltmək asanlığı.
    • Modullarlıq: funksionallığın kiçik, müstəqil bloklara bölünməsi.
    • Aşağı əlaqəlilik və yüksək kohesiya.
    • Avtomatlaşdırılmış testlər (birlik, inteqrasiya, son-əldə testlər).
  • Miqyaslandırma:

    • Sistem artan məlumat həcmi və ya yükü ilə işləmək qabiliyyətinə malikdir və performansda əhəmiyyətli azalma olmadan.
    • Resursların səmərəli istifadəsi.
  • Tələblərə uyğunluq:

    • Kod biznes məntiqini və funksional tələbləri düzgün həyata keçirir.
    • Kritik səhvlər və zəifliklər yoxdur.

Python-da keyfiyyətli test strukturu nümunəsi:

# 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():
    # Uğurlu istifadəçi yaradılması üçün test halı
    username = "test_user"
    email = "test@example.com"

    # Əməliyyat: İstifadəçi yaratmaq
    new_user = create_user(username, email)

    # Təsdiqləmə 1: İstifadəçi obyektinin yaradıldığını yoxlamaq
    assert isinstance(new_user, User)

    # Təsdiqləmə 2: İstifadəçi adının düzgün olduğunu yoxlamaq
    assert new_user.username == username

    # Təsdiqləmə 3: E-poçtun düzgün olduğunu yoxlamaq
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Dublikat istifadəçi adı ilə uğursuzluq halı
    username = "existing_user"
    email = "another@example.com"

    # Şərt: Mövcud istifadəçi yaratmaq
    create_user(username, "existing@example.com")

    # Əməliyyat və təsdiqləmə: Dublikat istifadəçi adı ilə istifadəçi yaratmağa cəhd və istisna gözləmə
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... digər test halları ...