Belgeler / Kalite ve yönetişim

N−1'e karşı ölçüm

Yuli'nin kaliteyi nasıl ölçtüğü, her zaman önceki sürümle karşılaştırdığı ve ajanı test etmeden önce iyileştirmeye nasıl zorladığı.

Yuli kodun kalitesini sürekli ölçer ve her zaman önceki sürümle, yani N−1 ile karşılaştırır. Kural basittir: asla geriye, her zaman ileriye.

Her şey kendiliğinden ölçülür: projeyi açtığınızda, her build, test veya doğrulamadan sonra, her yeni commit'te ve siz yazarken düzenleyicide.

Kalite paneli

Durum çubuğundaki göstergeden (örneğin A · σ 4,5 ▲) veya alt panelden açılır.

Sekme Ne işe yarar
Özet Genel not, sigma, borç, clean code, ajanın son ölçümü, sonraki iyileştirmeler ve N−1 ile karşılaştırma.
Uygulamalar 14 clean code uygulaması, faydaları ve önce nereye müdahale edileceği.
Ölçüm Ajanın Ölçüm aşaması: karar, denetimler, önce → sonra ve turlar.
Karar Yeniden düzenlemek mi, evrimleştirmek mi? Kriterler, matris ve ekonomik kriter.
Bakım kolaylığı Bakım kolaylığı endeksi, bilişsel karmaşıklık, tekrar, bağımlılık ve borç.
Önleme Güvenlik, performans, sağlamlık ve erişilebilirlik bulguları.
Mimari Projenin mimari kuralları.
Test sağlığı Test paketinin durumu.
Kalite Döngüsel karmaşıklık, hata Pareto'su, kapsam ve testler.
Boyut Satırlar, diller, bileşenler ve fonksiyon puanları.
Performans Son profile göre metot başına maliyet ve REST istemcisinin gecikmesi.
İstatistik Olasılıklar, dağılımlar ve eğilimler.
Six Sigma DMAIC, DPMO, sigma seviyesi, FPY/RTY, Cpk ve kontrol grafiği.
Geçmiş Her metriğin serileri ve N−1'e göre değişiklikler.
Rehber Her şeyin arama özellikli, sade bir dille açıklaması.

Her bölümde, onu jargon kullanmadan açıklayan bir «?» düğmesi vardır. «Veri yok» asla uydurulmuş bir sıfır değildir: ölçüm için neyin eksik olduğunu söyler.

Çubuk düğmeleri

  • Yenile: yeniden ölçer.
  • Sürümü kaydet: ölçümü geçerli sürüm olarak kaydeder. Önceki sürüm N−1 olur.
  • Raporu aç: docs/quality/reporte-calidad.md dosyasını yazar ve düzenleyicide açar.

N−1 nedir

Yuli yalnızca iki sürüm saklar: geçerli ve önceki. Git ile, çalışma ağacı temizken yapılan her yeni commit bir sürümdür. Sürümü kaydet düğmesine bastığınızda ve ajan ölçüm yaptığında da yeni bir sürüm oluşur.

Her metrik ▲ (iyileşti), ▼ (kötüleşti) veya = (aynı) ile gösterilir. «Kötüleşti» kararı için tek bir metriğin kötüleşmesi yeterlidir.

Not

Genel not A ile E arasında değişir ve ISO/IEC 25010'un on özelliğini birleştirir: işlevsellik, verimlilik, güvenilirlik, sağlamlık, güvenlik, bakım kolaylığı, anlaşılabilirlik, kullanılabilirlik, taşınabilirlik ve uyumluluk.

Not Puan Anlamı
A ≥ 80 Mükemmel
B ≥ 65 İyi
C ≥ 50 Kabul edilebilir
D ≥ 35 Yetersiz
E < 35 Kritik

Kritik bir güvenlik açığı güvenliği 59 (D) ile, yüksek bir açık ise 79 (B) ile sınırlar. Ciddi bir sorun asla yeşilde kalmaz.

14 clean code uygulaması

Her uygulama, hedefi olan ve her dilde ölçülen bir sayıdır.

Uygulama Nasıl ölçülür Hedef
Açıklayıcı KLOC başına açıklayıcı adlar ve sihirli sayılar ≥ %95
Küçük fonksiyonlar 60 satır veya daha kısa metotlar ≥ %95
Tekrardan kaçının 6 veya daha fazla satırlık tekrarlanan bloklardaki satırlar ≤ %3
Okunabilir kod Bilişsel karmaşıklığı ≤ 15 olan metotlar ≥ %95
Hata yönetimi KLOC başına sağlamlık bulguları 0
Basit yapılar Döngüsel karmaşıklık ≤ 10 ve iç içelik ≤ 4 ≥ %95
Tutarlı stil Girinti, satır uzunluğu ve adlandırma kuralı ≥ 90
Anlamlı adlar Gürültü olmayan değişkenler (tmp, aux, data2) ≥ %98
Az parametre 5 veya daha az parametreli metotlar %100
Kalıtım yerine bileşim Kalıtım derinliği ≤ 3 %100
Küçük sınıflar ≤ 300 satır ve ≤ 20 metot %100
Ölü kod yok Yoruma alınmış, erişilemeyen veya kullanılmayan kod 0
Test yazın Mantık içeren ve kendi testi olan dosyalar %100
Sürekli yeniden düzenleyin N−1'e göre gerilemeler 0

Clean code notu, verisi olan uygulamaların ortalamasıdır. 80 veya üzeri hedeftedir.

Six Sigma ve hata yoğunluğu

Metrik Nedir
Hata yoğunluğu Bin satır (KLOC) başına hata sayısı; %95 güven aralığıyla birlikte.
DPMO Milyon fırsat başına hata (her satır bir fırsattır).
Sigma seviyesi (σ) Klasik ölçekte DPMO: 6σ = 3,4 DPMO; 4σ ≈ 6.210. 4,5σ'dan itibaren yeşil.
Cpk Döngüsel karmaşıklığı ≤ 10 tutabilme yeteneği: ≥ 1,33 yeterli.
FPY / RTY İlk denemede başarılı olan build'ler, testler ve doğrulamalar.

Orta veya daha yüksek önem derecesindeki bir bulgu hata sayılır.

Ajanın Ölçüm aşaması

8 aşamanın beşincisidir; Uygulama ile Test arasında yer alır. Yalnızca görevin dokunduğu kodu başlangıç sürümüne karşı ölçer.

Üç an

Aşama Ne zaman Ne yapar
baseline Kod değiştirilmeden önce Görevin başlangıç sürümünü (N−1) kaydeder.
measure Uygulamadan sonra Dokunulan kodu N−1 ile karşılaştırır ve bir karar verir.
after Testler yeşilken N−1 ile karşılaştırır ve raporu yeniden yazar.

Ne zaman geçer

Aşağıdaki denetimlerin tümü karşılanmalıdır:

  1. Hiçbir şey N−1'den kötüleşmedi.
  2. En az bir kusur giderildi (ya da hiç kusur yok). Yoğunluğun aynı kalması yetmez.
  3. Temiz kod iyileşti; kabul düzeyinin altındaki dosyalarda.
  4. Yeni kod en baştan temiz.
  5. Mantığın testleri var.

Bir dosya, 0 hatası ve 90 veya üzeri clean code notu varsa kabul edilmiş sayılır. Kabul edilmiş bir dosyadan yalnızca kötüleşmemesi beklenir.

Kararlar

Karar Ne olur
Geçti Görev kendiliğinden Test aşamasına geçer.
Tekrarla Neyin düzeltileceğinin dosya ve satırla birlikte tam listesiyle Uygulama'ya döner.
Tur sınırı Turlar tükendi: Test'e geçer ve bekleyenler görevde kalır.
Ölçülecek kod yok Görev koda dokunmadı.

Ölçüm atlanamaz. Ajan ölçülmemiş kodla Test, İnceleme veya Teslim aşamasına geçmeye çalışırsa Yuli bunu reddeder. Claude Code, Kiro, Codex ve Antigravity için de aynısı geçerlidir.

İyileştirme, yazılımın yaptığını asla değiştirmez: aynı kullanım senaryoları, aynı girdiler ve çıktılar.

Sonucu nerede görürsünüz

Asla sohbette değil. Ajan, kararı ve önce → sonra durumunu içeren tek bir satır verir. Ayrıntılar Ölçüm sekmesinde ve Kalite'de gör düğmesiyle görev çubuğundadır.

Ayarlar

Ölçüm sekmesinde veya .ai/quality.json içinde:

Ayar Varsayılan Aralık
Testlerden önce ölçüm zorunludur Evet —
En fazla uygulama ↔ ölçüm turu 3 1 ile 10 arası
Kabul düzeyi (temiz kod) 90 50 ile 100 arası

Bir kalite sözleşmesi varsa, onun kabul ve tur değerleri önceliklidir.

Düzenleyicide

  • Her metodun üstünde: CC · CoG · MI · satır · kapsam · maliyet.
  • İlk satırda: dosyanın notu, clean code notu ve N−1'e göre değişimi.
  • İpuçları: anlamsız adlar, sihirli sayılar veya ölü kod; tam satırında.

Rapor

Kaydedilen her sürümde yeniden yazılan tek bir belge: docs/quality/reporte-calidad.md. «Ajan ölçümü» bölümünü içerir. Çalışma verileri .ai/state/quality/ içinde durur ve asla depoya gönderilmez.

Dürüst sınırlar

  • Karmaşıklık ve önleyici kurallar metin üzerindeki kalıplarla hesaplanır. Yanlış pozitifler olabilir. Java ve JSP ayrıca sözdizimi ağaçlarını kullanır.
  • Tahminler (Time-to-Market, maliyetler) düzenlenebilir varsayımlara sahip tanınmış modelleri kullanır. Karar vermek için kullanılırlar, sözleşmeye bağlı bir bütçe olarak değil.