I metodi iterativi che si trovano comunemente nei linguaggi moderni come C #, JavaScript e (si spera) in Java 8 riducono l'impatto della complessità ciclomatica sulla comprensibilità e supportabilità del codice?
Ad esempio in C # potremmo avere il seguente codice:
List<String> filteredList = new List<String>();
foreach (String s in originalList){
if (matches(s)){
filteredList.add(s);
}
}
Ciò ha una complessità ciclomatica semplice di 2.
Potremmo facilmente riscriverlo come:
List<String> filteredList = originalList.where(s => matches(s));
Che ha una complessità ciclomatica semplice di 0.
Ciò comporta effettivamente un codice più sopportabile? C'è qualche ricerca reale su questo argomento?