Biz sortof, bu kodu vardır: VS10 Ultimate13 olay işleyicisi aboneliği olan bir yöntemde siklizik karmaşıklık 27 nasıl olabilir?
private void InitializeEvents()
{
this.Event1 += (s,e) => { };
this.Event2 += (s,e) => { };
this.Event3 += (s,e) => { };
this.Event4 += (s,e) => { };
this.Event5 += (s,e) => { };
this.Event6 += (s,e) => { };
this.Event7 += (s,e) => { };
this.Event8 += (s,e) => { };
this.Event9 += (s,e) => { };
this.Event10 += (s,e) => { };
this.Event11 += (s,e) => { };
this.Event12 += (s,e) => { };
this.Event13 += (s,e) => { };
}
Kod analizi "27 cyclomatic karmaşıklığını" diyor. satırlardan birini cyclomatic karmaşıklık 25.
var oluyor yapar Çıkarma hiçbir oluyor dallanma, bu yüzden bu nasıl mümkün olabilir?
+1 için "Kod Analizinin kaynak kodunuzda değil, derlemenizde IL'ye baktığını unutmayın. IL'de lambda ifadelerini doğal olarak destekleyen hiçbir şey yok" – Lijo
Kepçeler/delegeler SADECE KAPALI ise onların üstünde. Aksi halde değiller. Bu lambdaların bir sebebi (birkaç) pahalıdır. JIT, tahsis ve GC de var - ama başka bir tartışma için. Ben sayabileceğim "sıcak" yöntemlerle lambdalar ile ilgili daha fazla performans sorunları sabitledim. –