Google mühendisleri CRAP kod metriğinin ayrıntılarını paylaştı
Öne çıkanlar
- CRAP metriği, döngüsel karmaşıklık ve otomatik test kapsamı verilerini harmanlayarak risk puanı hesaplıyor.
- CRAP1 formülüne göre puanı 30 değerini aşan yazılım metotları riskli ve sorunlu olarak sınıflandırılıyor.
- Metrik; Java.NET, Ruby ve PHP ekosistemlerindeki yaygın kod analiz araçlarına entegre edildi.
Google mühendisleri Alberto Savoia ve Bob Evans, 2007 yılında geliştirdikleri Change Risk Anti-Patterns (CRAP) adlı kod kalitesi metriğinin ortaya çıkış sürecini ve matematiksel formülünü açıkladı. Geliştiricilerin karmaşık ve bakımı zor kod parçalarına gösterdiği öznel tepkilerden ilham alan metrik, nesnel yazılım analizleriyle riskli kodları belirlemeyi hedefliyor. İlk sürüm olan CRAP1, karmaşık fonksiyonların otomatik test kapsamı eksikliğiyle birleştiğinde oluşturduğu risk düzeyini ölçüyor.
CRAP1 metriği, yöntemin döngüsel karmaşıklığı ile otomatik test kapsamını belirli bir formülle ilişkilendiriyor. Java ve JUnit tabanlı çok sayıda açık kaynak ve ticari projenin incelenmesiyle hazırlanan bu formülde, 30 puanın üzerindeki metotlar riskli kabul ediliyor. Karmaşık kodların otomatik testlerle desteklenmemesi yüksek bakım maliyetine ve arızalara yol açarken, yeterli test kapsamına sahip modüllerin karmaşıklığı tolere edilebilir seviyede tutulabiliyor.
Sistem zaman içinde Java.NET, Ruby ve PHP gibi çeşitli ekosistemlere uyarlandı; Clover ve Cobertura gibi yaygın analiz araçlarına entegre edildi. Metriğin kurucuları, mevcut formülün sınırlılıkları olduğunu ve tüm tasarım kusurlarını tek başına ölçemeyeceğini belirtti. Önümüzdeki süreçte kod bağlılığı ve bütünlüğü gibi üst düzey tasarım ölçütlerini dikkate alan yeni anti-örüntü modellerinin geliştirilmesi planlanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.