Code Quality Index (TCQI & PCQI) [TR]
Genel Bakış
Oobeya’daki Code Quality Index metrikleri, yazılım projelerinizin ve ekiplerinizin kod kalitesini 0–5 arası tek bir skorla ifade eder. Bu metrikler, SonarQube verilerini kullanır ve ISO/IEC 25010 yazılım kalite modelinin nitelikleri ile uyumludur.
Project Code Quality Index (PCQI): Proje seviyesinde kod kalitesini ölçer.
Total Code Quality Index (TCQI): Bir ekibin tüm projelerinin kod kalitesini ağırlıklı ortalama ile hesaplar.
Bu sayede hem tek bir projeye hem de tüm ekibe ait kod kalitesi trendlerini kolayca izleyebilirsiniz.
Hangi Veriler Kullanılır?
Oobeya, SonarQube entegrasyonu ile aşağıdaki verileri toplar:
Security – Güvenlik açıkları ve zafiyetlerin kod üzerindeki etkisi
Reliability – Hata/bozulma olasılığı, kurtarılabilirlik, istisnalar
Maintainability – Bakım kolaylığı, modülerlik, okunabilirlik
Unit Test Coverage – Birim test kapsam yüzdesi
Duplication – Tekrarlayan kod oranı
Complexity – Döngüsel (cyclomatic) ve bilişsel (cognitive) karmaşıklık
1. PCQI (Project Code Quality Index)
Tanım
PCQI, tek bir projenin kod kalitesini yukarıdaki altı bileşen üzerinden hesaplar. Skor 0–5 aralığında normalize edilir.
Hesaplama Adımları
1. Alt Metriklerin Hesaplanması
Security / Reliability / Maintainability:
Yüksek, orta, düşük eforlu sorunlar katsayılarla çarpılır, kod satır sayısına (LOC) bölünür, kalite ölçeği hesaplanır, rating’in tavan puanı ile çarpılır, minimum puan ile karşılaştırılır. Çıkan sonuç ilgili metrik skorudur.
Rating (A–E) değerine göre tavan puan (CeilingScore) ve taban puan (MinScore) uygulanır.
CeilingScore: A=5, B=4, C=3, D=2, E=1
MinScore: A=2.5, B=2.0, C=1.5, D=1.0, E=0.0
Unit Test Coverage:
Unit test Coverage yüzdesi, ağırlığı ile çarpılır.
Duplication:
%25 tekrar oranı eşiği baz alınır, üzeri doğrudan sıfır (0) olarak kabul edilir.
Complexity:
Döngüsel ve bilişsel karmaşıklık değerleri fonksiyon başına normalize edilir, hedef değer FD=20 ile karşılaştırılır. İki skorun ortalaması alınır.
FD (Function Default): 20
CyWeight: 5
CoWeight: 5
2. Alt Metriklerin Ortalaması
Tüm alt metrikler 0–5 aralığında normalize edilir ve aritmetik ortalama alınarak PCQI skoru elde edilir:
PCQI Skor Yorumlama
4.5 – 5.0
Mükemmel
Süreçleri koruyun ve iyi uygulamaları yaygınlaştırın.
3.5 – 4.4
İyi
Belirli alanlarda iyileştirme fırsatlarını değerlendirin.
2.5 – 3.4
Orta
Hedefli iyileştirmeler yapın.
0 – 2.4
Kritik
Güvenlik, bakım kolaylığı, test kapsamı alanlarında acil aksiyon alın.
2. TCQI (Team Code Quality Index)
Tanım
TCQI, bir ekibin tüm projelerinin PCQI skorlarının, proje büyüklükleri (LOC) ile ağırlıklandırılmış ortalamasıdır. Bu sayede küçük ve büyük projeler adil şekilde karşılaştırılır.
Hesaplama Adımları
Her proje için PCQI hesaplanır.
Her proje PCQI değeri, proje LOC değeri ile çarpılır.
Elde edilen değerler toplanır ve ekibin toplam LOC’una bölünür:
Örnek Hesaplama
A
4.0
100,000
400,000
B
3.0
50,000
150,000
Toplam
150,000
TCQI = 3,67
TCQI Skor Yorumlama
4.5 – 5.0
Mükemmel
Takım genelinde kalite çok yüksek, mevcut süreçleri koruyun.
3.5 – 4.4
İyi
Belirli projelerde küçük iyileştirmeler planlayın.
2.5 – 3.4
Orta
Düşük skorlu projelere odaklanın.
0 – 2.4
Kritik
Ekip genelinde kalite sorunları var, acil aksiyon alın.
İyileştirme Önerileri
Security / Reliability / Maintainability: Kritik ve büyük sorunları çözün, kod inceleme süreçlerini güçlendirin.
Coverage: Test kapsamını artırın (%80+ hedeflenmeli).
Duplication: Kod tekrarını %25’in altına indirin.
Complexity: Fonksiyon başına karmaşıklığı 20’nin altında tutun.
Last updated