spec-driven development
| proqramlama181 | 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:
☎ 860Burada “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