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:

  1. Security – Güvenlik açıkları ve zafiyetlerin kod üzerindeki etkisi

  2. Reliability – Hata/bozulma olasılığı, kurtarılabilirlik, istisnalar

  3. Maintainability – Bakım kolaylığı, modülerlik, okunabilirlik

  4. Unit Test Coverage – Birim test kapsam yüzdesi

  5. Duplication – Tekrarlayan kod oranı

  6. 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

PCQI Skoru
Durum
Önerilen Aksiyon

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ı

  1. Her proje için PCQI hesaplanır.

  2. Her proje PCQI değeri, proje LOC değeri ile çarpılır.

  3. Elde edilen değerler toplanır ve ekibin toplam LOC’una bölünür:


Örnek Hesaplama

Proje
PCQI
LOC
Ağırlıklı Değer

A

4.0

100,000

400,000

B

3.0

50,000

150,000

Toplam

150,000

TCQI = 3,67


TCQI Skor Yorumlama

TCQI Skoru
Durum
Önerilen Aksiyon

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