bugün məsləhət təsadüfi
sözaltı sözlük
postlar Yoxlama mesaj

...

spec-driven development

| proqramlama
181 | 1 | 0

əjdahalar  googlla
psevdoelm - breaking bad - ssenari yazmaq - yazarların favorit oyunları - steven krantz - oecd - robert downey jr - call of duty: modern warfare 3 - riskbudur.az - stackoverflow.com

    💛

    Yalnız deyilsən!

    Bu duyğuların müvəqqəti olduğunu və kömək mövcud olduğunu bilmək vacibdir. Dostlarınıza, ailənizə, profesionallara müraciət etməyiniz vacibdir. Sizi dinləmək və lazım olan dəstəyi təmin etmək istəyən insanlar var.

    Sözlük yazarları olaraq səni hər zaman dinləyə bilərik.

    Əgər yalnız hiss edirsənsə, qaynar xəttə zəng et:

    ☎ 860
    1. Spec-driven development - proqram inkişafının elə bir yanaşmasıdır ki, burada prosesin start nöqtəsi kod deyil, dəqiqləşdirilmiş texniki spesifikasiya (SPEC) olur.

    Burada “spec” adətən bu sənədlərin toplu anlayışıdır:
    - funksional tələblər
    - biznes qaydalar
    - API strukturu
    - use-case ssenariləri
    - qəbul kriteriyaları
    - domen obyekt modelinin təsviri
    - edge-case-lərin əvvəlcədən müəyyən olunması

    Yəni təxminən “nə yazacağıq?” sualının bütün cavabları kod başlamadan əvvəl sənədləşdirilir.

    Niyə belə yanaşma yaranıb?
    Çünki komanda böyüdükcə problem də böyüyür:
    - proqramçılar fərqli təsəvvürlərlə işləyir
    - hər adam öz dünyasına görə yazır
    - tələb dəyişəndə kod xəritəsi dağılır
    - texniki borc yığılır

    hər dəyişikliyin domino effekti olur

    Spec bunu həll edir - çərçivə yaradır.

    Bu yanaşmanın gözəlliyi nədir?

    Spec-driven development-də kod artıq “təxmin edilən” yox, “sənədləşdirilmiş” reallığı icra edir.

    Başqa cür desək:

    SPEC -> kodun taleyi üçün konstitusiyadır.


    Proses adətən belə olur:

    1. Biznes nəticəsi müəyyən edilir
    2. Onun spesifikasiyası yazılır
    3. Modul dizaynı çıxır
    4. Acceptance test yazılır
    5. Kod SPEC-ə uyğun yazılır
    6. Deployment

    Burada “test” koddan əvvəl doğulur — test də SPEC-dən çıxır.

    Bəzən buna living specification də deyilir.


    Burada ən kritik anlayışlar
    Spec-də qeyri-müəyyənlik olmamalıdır
    icazə verilmiş və verilməmiş hallar yazılmalıdır
    Edge case-lər əvvəlcədən təsvir olunmalıdır
    Data flow diagramları mütləq olmalıdır
    Terminlər lüğəti yaradılmalıdır

    Çünki SPEC nə qədər zərifdirsə - implementasiya da bir o qədər təmiz olur.


    Spec-driven development vs. Agile

    Bir çoxları düşünür ki Agile sənədləşmə azdır deyir — bu yanlışdır.
    Agile-də sənəd az deyil, lazımsız sənəd azdır.

    Spec isə lazımlı sənəddir.

    Sprint-də belə olur:
    - Sprint-dən əvvəl SPEC çıxır
    - Story-də acceptance criteria SPEC-dən gəlir
    - PR review-də SPEC-ə uyğunluq yoxlanır

    Yəni SPEC həm plan, həm nəzarət mexanizmidir.

    Bu yanaşma niyə trenddədir?

    Çünki AI-də yeni dövr başlayıb.

    Claude Code, o1, Dev-agents kimi sistemlər SPEC oxumağı sevir.

    AI-yə SPEC verirsən -> AI sənə:
    - modul strukturu
    - API endpointləri
    - service orchestration planı
    - class hierarchy
    təklif edir.

    Əgər SPEC olmayan layihədə AI işləyirsə -> nəticə xaotik olacaq.

    indi düzgün yanaşma belədir:

    Əvvəl SPEC -> sonra AI-nin kod generasiyası

    Və sən artıq sadəcə nəticəni yoxlayırsan.


    Nəticə olaraq

    Spec-driven development - kod yazmağı mühəndislikdən məhsul idarəsinə çevirir.

    Deyir ki:
    “Kod nəticə deyil. Kod nəticəni həyata keçirən mexanizmdir.”

    Nəticə isə SPEC-də doğulur.


üzv ol
Modalı bağla





...