Kod Keyfiyyəti Nədir? Mentorların Baxdığı 6 Əsas Meyar
Kodunuz işləyir, amma rəydə 'keyfiyyət zəifdir' deyirlər? Kod keyfiyyətinin nə olduğunu və necə ölçüldüyünü nümunələrlə izah edirik.
Fərid Mustafayev6 dəq oxu

Kodunuz işləyir. Testdən keçir, istifadəçi düyməni basanda istənilən nəticə çıxır. Amma code review-da mentor yazır: "İşləyir, amma keyfiyyət zəifdir." Bəs "keyfiyyət" nə deməkdir, əgər kod artıq işləyirsə? Bu yazıda kod keyfiyyəti nədir, hansı meyarlarla ölçülür, mentorlar və texniki rəhbərlər koda baxanda nəyi görür və öz kodunuzu necə yoxlaya biləcəyinizi sadə dillə izah edirik.
Kod keyfiyyəti nədir?
Kod keyfiyyəti — kodun düzgün işləməsindən əlavə, onun oxunması, dəyişdirilməsi, test edilməsi və etibarlı işləməsinin nə dərəcədə asan olduğudur. Yüksək keyfiyyətli kodu başqa developer tez başa düşür, yeni xüsusiyyəti onu sındırmadan əlavə edə bilir və gözlənilməz vəziyyətlərdə proqram çökmür. Qısaca: işləyən kod — başlanğıcdır, keyfiyyətli kod — peşəkarlıqdır.
Niyə "işləyir" kifayət deyil?
Real layihədə yazdığınız kodu sizdən sonra başqaları — bəzən aylar sonra siz özünüz — oxuyacaq, dəyişəcək və genişləndirəcək. Kodun çox hissəsi bir dəfə yazılır, amma dəfələrlə oxunur. Google-un açıq code review təcrübələri də code review-un əsas məqsədini kod bazasının ümumi sağlamlığını zamanla yaxşılaşdırmaq kimi təsvir edir. Yəni keyfiyyət estetika yox, komandanın gələcək sürətidir.
Kod keyfiyyəti necə ölçülür? 6 əsas meyar
1. Düzgünlük
Kod tələbləri tam yerinə yetirirmi — o cümlədən kənar hallarda? Boş siyahı, səhv giriş, şəbəkə xətası, çox böyük data.
2. Oxunaqlılıq
Dəyişən və funksiya adları nə etdiyini deyirmi? Funksiyalar qısa və tək məsuliyyətlidirmi? Başqa developer kodu izahsız başa düşə bilərmi?
Zəif: function d(x) { ... }
Güclü: function calculateLateFee(daysOverdue) { ... }
3. Struktur
Məsuliyyətlər ayrılıbmı? Məsələn, backend-də controller sorğunu qəbul edir, service biznes məntiqini aparır, repository bazaya yazır. Hər şeyi bir yerə yığmaq dəyişikliyi və testi çətinləşdirir.
4. Etibarlılıq və xəta idarəsi
Xəta baş verəndə nə olur? İstifadəçi aydın mesaj görürmü? Sistem uyğunsuz vəziyyətdə qalmırmı (məsələn, tranzaksiya yarımçıq qalmırmı)?
5. Test olunma
Əsas axınlar üçün testlər varmı? Kod test etməyə uyğun yazılıbmı?
6. Təhlükəsizlik və performans
Parollar açıq saxlanılmırmı? İcazə yoxlaması serverdədirmi? Lazımsız təkrar sorğular varmı?
Devlab-da iş necə qiymətləndirilir?
Devlab-da hər tapşırıq sahə mütəxəssisi olan mentor tərəfindən code review olunur və üç meyar üzrə qiymətləndirilir:
| Meyar | Nəyə baxır | Nümunə rəy |
|---|---|---|
| Texniki dərinlik | Həll nə qədər düzgün və əsaslıdır; qərarlar başa düşülübmü | "Keşləmə düzgün qurulub, amma etibarsızlaşdırma (invalidation) düşünülməyib" |
| İcra keyfiyyəti | Kod oxunaqlıdırmı, test olunubmu, xətalar idarə olunurmu | "Validasiyanı ayrıca funksiyaya çıxar — oxunaqlılıq artacaq. Xəta hallarını da test et." |
| Məsuliyyət | Tapşırıq vaxtında və tam təhvil verilibmi; rəyə görə düzəliş edilibmi | "Bütün tələblər yerinə yetirilib və vaxtında təhvil verilib" |
Bu ballar həftə-həftə toplanır və inkişaf yolunuzu göstərir: hansı meyarda güclüsünüz, harada geri qalırsınız. Proqramı bitirdikdən sonra isə bu göstəricilər şirkətlərə təqdim olunan profilinizin əsasını təşkil edir — çünki işəgötürən də məhz bu suallara cavab axtarır.
Biznes üçün faydası: niyə şirkətlər kod keyfiyyətinə önəm verir?
- Sürət: oxunaqlı kodda yeni xüsusiyyət daha tez əlavə olunur
- Daha az xəta: testlər problemi istifadəçidən əvvəl tutur
- Onboarding: yeni developer layihəyə daha tez qoşulur
- Risk: təhlükəsizlik boşluqları daha az olur
Junior namizəd üçün bu o deməkdir: keyfiyyətli kod yazan junior komandaya nəzarət yükü yox, töhfə gətirir — və işəgötürən bunu ilk texniki tapşırıqda görür.
Real nümunə: eyni funksiya, iki versiya
Tutaq ki, kitabxana sistemində kitab götürmə funksiyası yazılır.
Birinci versiya işləyir: kitab statusunu "götürülüb" edir və istifadəçiyə yazır. Amma: eyni kitabı eyni anda iki nəfər götürə bilər; istifadəçi bloklanıbsa da götürə bilir; xəta olanda status dəyişir, qeyd isə yazılmır; heç bir test yoxdur.
İkinci versiya: əvvəlcə istifadəçinin hüququ yoxlanılır, sonra əməliyyat tranzaksiya daxilində aparılır ki, ya hamısı, ya heç biri baş versin; eyni anda götürmə halı nəzərə alınıb; uğursuz halda istifadəçiyə aydın mesaj qaytarılır; əsas ssenarilər üçün testlər var.
Hər iki versiya "işləyir". Yalnız ikincisi production-a hazırdır.
Öz kodunuzu necə yoxlamalı? Yoxlama siyahısı
Təhvil verməzdən əvvəl:
- Bütün tələblər yerinə yetirilib
- Kənar hallar (boş, səhv, böyük giriş) yoxlanılıb
- Adlar nə etdiyini deyir
- Heç bir funksiya bir neçə müxtəlif iş görmür
- Xətalar tutulur və aydın mesaj qaytarılır
- Əsas axınlar üçün test var
- Parol və gizli açarlar kodda yoxdur
- README layihəni necə işə salmağı izah edir
- Commit-lər məntiqli hissələrə bölünüb
Kimə lazımdır?
Kod keyfiyyəti hər kəsə lazımdır, amma xüsusilə:
- İşə hazırlaşan juniorlara — texniki tapşırıqda ilk baxılan şeydir
- Tək öyrənənlərə — rəysiz keyfiyyət problemləri görünmür; bu barədə proqramlaşdırmanı özbaşına öyrənmək yazımıza baxın
- Portfolio quranlara — layihənin keyfiyyəti sayından vacibdir
Kod keyfiyyətini necə inkişaf etdirməli?
- Kodunuza mütəmadi rəy alın. Keyfiyyət problemlərini özünüz görmək çətindir.
- Başqalarının kodunu oxuyun. Açıq mənbə layihələri yaxşı nümunədir.
- Test yazmağı vərdişə çevirin. Test yazmaq çətindirsə, kodun strukturu adətən problemlidir.
- Təkrarlanan rəyləri qeyd edin. Onlar sizin əsas inkişaf zonanızdır — ətraflı: öyrənirəm amma irəliləmirəm.
- Kodu yazdıqdan sonra bir dəfə də oxuyun — başqasının gözü ilə.
Ən çox rast gəlinən 6 keyfiyyət problemi
Code review-da junior kodunda ən tez-tez görülən problemlər:
- Hər şey bir funksiyada: validasiya, biznes məntiqi, baza əməliyyatı və bildiriş bir yerdə
- Mənasız adlar:
data,temp,x,handle2 - Xəta idarəsinin olmaması: "uğurlu ssenari" işləyir, qalan hər şey çökür
- Kopyalanmış kod: eyni məntiq üç yerdə, bir yerdə düzəldilib, ikisində yox
- Sehrli rəqəmlər:
if (status === 3)— 3 nə deməkdir? - Test yoxluğu: dəyişiklik edəndə nəyin sındığını bilmək mümkün deyil
Bu siyahını öz kodunuza tətbiq edin — çox güman ki, ən azı ikisini tapacaqsınız. Bu, normaldır; əsas olan onları görüb düzəltməkdir.
Kod keyfiyyəti və AI alətləri
AI kod köməkçiləri kod yazmağı sürətləndirir, amma keyfiyyət məsuliyyəti developerdə qalır. AI-nin yazdığı kodu da eyni meyarlarla yoxlamaq lazımdır: kənar hallar idarə olunurmu, adlar aydındırmı, təhlükəsizlik problemi varmı, test varmı? Kodu başa düşmədən qəbul etmək, sonradan onu düzəltməyi xeyli çətinləşdirir.
Kod keyfiyyəti müsahibədə necə görünür?
Texniki tapşırıqda rəhbər əvvəlcə README-yə, sonra struktura, sonra kənar hallara və testlərə baxır. Yəni yuxarıdakı yoxlama siyahısı həm də ev tapşırığını təhvil verməzdən əvvəl istifadə ediləcək siyahıdır — o, sizin işinizi "işləyir" səviyyəsindən "komandaya hazırdır" səviyyəsinə qaldırır.
Qısaca, kod keyfiyyəti vərdişdir: hər tapşırıqda eyni yoxlama siyahısını tətbiq etdikcə o, avtomatik olur və sonda heç düşünmədən keyfiyyətli kod yazmağa başlayırsınız.
Bu vərdiş həm müsahibədə, həm də komandadakı ilk aylarınızda sizi digər junior namizədlərdən fərqləndirəcək və etibar qazanmağı asanlaşdıracaq.
Nəticə
Kod keyfiyyəti — düzgünlük, oxunaqlılıq, struktur, etibarlılıq, test olunma və təhlükəsizliyin birləşməsidir. "İşləyir" başlanğıcdır; işəgötürən isə kodun başqaları tərəfindən oxunub dəyişdirilə biləcəyini görmək istəyir. Bu bacarıq ən sürətli müntəzəm code review və ölçülən rəylə inkişaf edir.
Kodunuzu sahə mütəxəssisinə yoxlatmaq və keyfiyyətinizi ölçmək istəyirsinizsə, pulsuz qeydiyyatdan keçin və real tapşırıq nümunələrinə baxın. Proqramlar haqqında ətraflı: proqramlar səhifəsi.
Tez-tez verilən suallar
Junior developerdən hansı səviyyədə kod keyfiyyəti gözlənilir?
Mükəmməllik yox, əsaslar: aydın adlar, kiçik funksiyalar, əsas xəta idarəsi, bir neçə test və README. Ən vacibi rəyə görə kodu təkmilləşdirə bilməkdir.
Linter və formatter kod keyfiyyətini təmin edirmi?
Qismən. Onlar üslub və bəzi tipik səhvləri tutur, amma struktur, düzgünlük və dizayn qərarlarını yoxlamır. Bunun üçün code review lazımdır.
Sürət yoxsa keyfiyyət?
Junior üçün əvvəlcə keyfiyyət vacibdir — sürət zamanla gəlir. Keyfiyyətsiz sürətli kod sonradan daha çox vaxt aparır.
Kod keyfiyyəti müsahibədə necə yoxlanılır?
Əsasən texniki tapşırıqda və layihə müzakirəsində: kodunuz oxunurmu, xətalar idarə olunurmu, test varmı, qərarlarınızı izah edə bilirsinizmi.





