Zarif düşünüp düşünmeyeceğinizden emin değilim, ancak Watts Humphrey tamamen kendi üretkenliğinizi ölçmekle ilgili Kişisel Yazılım Süreci adlı bir kitap yazdı. Masanızda geçirilen süre ve kesintiler, çeşitli yazılım yaşam döngüsü etkinlikleri üzerinde harcanan zaman, kod miktarı başına hata gibi girdilere ilişkin metrikleri özetledi. Kısa versiyonu veren teknik bir rapor var:
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm
Bir geliştirici kodunun kalitesi gibi bir şeye bakmak istiyorsanız, Chidamber ve Kemerer nesne yönelimli kod için çeşitli metrikler önerdi.
Nesneye yönelik kod için metrikler
- kalıtım ağacının derinliği,
- ağırlıklı yöntem sayısı,
- üye işlevlerinin sayısı,
- çocuk sayısı ve
- nesneler arasında bağlantı.
Bir kod tabanı kullanarak, bu metrikleri kovaryant analiz kullanarak hata yoğunluğu ve bakım çabasıyla ilişkilendirmeye çalıştılar. Daha sonraki çalışmalar, CK Metriklerine ve daha sonra önerilen bazı ek metriklere göre özelliklerini belirlemek için yüzlerce Source Forge Java projesinde benzer analizler yaptı.
Kod İncelemeleri bağlamında ortaya çıkan metrikler
Kusurlar birçok kritere göre kategorize edilebilir:
- şiddeti: (büyük, küçük, kozmetik, araştırın / bilinmeyen),
- tip (mantık, yazım hatası, yazım, standart ihlali kodlama vb.),
- başlangıç / aşama sınırlaması (gereksinimler, tasarım, kod vb.).
Ayrıca hazırlık ve inceleme oranları (gözden geçiren başına süre, kod satırı başına süre) ve kusur yoğunlukları ( KLOC (bin kod satırı) başına, müfettiş / denetçi zamanı başına dakika) vardır.
Bu değerlerin kontrol grafiklerine göre çizilmesi bize süreç için sınırlar içinde olup olmadığımızı gösterebilir (örneğin, KLOC başına ortalama yirmi beş kusur bulunan bir grupta hiçbir kusur bulamayan 200 kod satırını inceleyen bir ekip arızalı olabilir).
Diğer metrikler
Aşağıdakilere yardımcı olabilecek diğer metrikler
Analiz Sınırlamaları
Metriklerin değeri üzerinde muazzam sınırlar var. Geliştirici başına düzeltilen hatalar hemen hemen her şey anlamına gelebilir ve bu ölçümde cezalandırmaya veya ödüllendirmeye başladığınızda, bahis hatalarının daha fazla ve granüler hale geleceğine ve sabit zor olan kolay hataların karışımı da ekip kirazının en iyi şekilde yarışmak.
Ayrıca müdahaleci ölçümle gelebilecek belirli bir dikkat dağıtıcı ve potansiyel olarak odak ve zevk kaybı da vardır. Wordsworth gibi bir göl şairinden daha zarif (ve duygusal olarak yüklenmiş) olamazsınız ,
Sweet is the lore which Nature brings;
Our meddling intellect
Mis-shapes the beauteous forms of things:--
We murder to dissect.
Yazılım tam olarak Doğa olmasa da, bana enlem ver, çünkü lise İngiliz Edebiyatı sınıfından hiçbir şey kullanamayacağımı düşündüm.
Çevik, merkezi, büyük sürece tepki olarak düşünülebilir. Bazen bu çalışma modu o kadar çok analitik çaba gerektirebilir ki, hepsi yazılım dışında yazılım oluştururken akışa erişme yeteneği ortadan kalktı.