Чи зменшують такі ітеративні методи, як зазвичай, у сучасних мовах, таких як C #, JavaScript та (сподіваємось) в Java 8, вплив цикломатичної складності на зрозумілість та підтримку коду?
Наприклад, у C # у нас може бути такий код:
List<String> filteredList = new List<String>();
foreach (String s in originalList){
if (matches(s)){
filteredList.add(s);
}
}
Це має просту цикломатичну складність 2.
Ми можемо легко переписати це як:
List<String> filteredList = originalList.where(s => matches(s));
Який має просту цикломатичну складність 0.
Чи насправді це призводить до отримання більш сприятливого коду? Чи є якісь фактичні дослідження на цю тему?