Sobes.tech
Junior

Баҳои шумо чӣ маъно дорад, ки кодро бо сифати баланд нависед?

sobes.tech AI

Ҷавоб аз AI

Тоза, хонданӣ, нигоҳдории, масштабшавӣ ва мувофиқат бо талабот.

Аспектҳои асосӣ:

  • Тозаӣ ва хонданӣ:

    • Истифодаи номҳои фаҳмо, тавсифӣ барои тағйирёбандаҳо, функсияҳо, синфҳо.
    • Пайравӣ ба услуби ягонаи кодгузорӣ (рӯйхати услуби кодгузорӣ).
    • Форматсозии мувофиқ барои код (интиқолҳо, фосилаҳо).
    • Нақликунии такрорӣ кардани код (DRY - Don't Repeat Yourself).
    • Шарҳҳои фаҳмо барои қисмҳои номуайян дар код.
  • Дастгирӣ:

    • Осонии ворид кардани тағйирот ва ислоҳи хатоҳо.
    • Модулсозӣ: тақсим кардани функсионалият ба блокҳои хурд ва мустақил.
    • Пайвастагии паст (low coupling) ва ҳамоҳангии баланд (high cohesion).
    • Presence of automated tests (unit, integration, end-to-end).
  • Масштабшавӣ:

    • қобилияти системаи коркарди ҳаҷми афзояндаи маълумот ё борро бе пастшавии назаррас дар иҷроиш.
    • Истифодаи самараноки захираҳо.
  • Мувофиқат бо талабот:

    • Код дуруст иҷро мекунад бизнес-логика ва талаботи функсионалӣ.
    • Нестии хатоҳои критикӣ ва осебпазирӣ.

Намунаи сохтори санҷиши сифат дар Python:

# 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():
    # Тест барои эҷоди муваффақи корбар
    username = "test_user"
    email = "test@example.com"

    # Амал: Эҷоди корбар
    new_user = create_user(username, email)

    # Санҷиш 1: Бақайдгирии он ки объекти корбар эҷод шудааст
    assert isinstance(new_user, User)

    # Санҷиш 2: Бақайдгирии он ки номи корбар дуруст аст
    assert new_user.username == username

    # Санҷиш 3: Бақайдгирии он ки почтаи электронӣ дуруст аст
    assert new_user.email == email

def test_user_creation_duplicate_username():
    # Тест барои нокомӣ бо сабаби номи корбарии такрорӣ
    username = "existing_user"
    email = "another@example.com"

    # Пеш шароит: эҷоди корбари мавҷуда
    create_user(username, "existing@example.com")

    # Амал ва санҷиш: кӯшиши эҷоди корбар бо номи такрорӣ ва интизорӣ аз ҳодиса
    with pytest.raises(ValueError, match="Username already exists"):
        create_user(username, email)

# ... дигар ҳолатҳои санҷишӣ ...