Ich habe eine Methode, die drei Parameter akzeptiert: List<Class1> source
, List<Class2) results
und DateTime endDate
. Ich kann sehen, warum die Klassenkopplung vier ist. Allerdings springt er auf zehn wenn ich diese Aussage hinzu:Warum springt die Klassenkopplung, wenn ich LINQ verwende?
var warnings = from s in source
join r in results on s.Field1 equals r.Field1 into joined
from j in joined.DefaultIfEmpty()
where j == null
select string.Format("{0}{1}", A_CONSTANT, s.Field2);
Meine Fragen:
- Was sind die sechs neuen Klassen, die von der LINQ-Anweisung eingeführt wurden?
- Und da zehn die Obergrenze für "guten Code" ist, gibt dies an, dass LINQ hier keine gute Wahl ist?
Wenn Ihr Tool über Keyword-Implementierungen stolpert, ist es nicht weit genug fortgeschritten. Die Komplexitätsanalyse auf dieser Ebene kann bei der Codeüberprüfung mit dem Auge durchgeführt werden. – Gusdor