Os métodos iterativos, como os comumente encontrados em linguagens modernas como C #, JavaScript e (esperançosamente) no Java 8, reduzem o impacto da complexidade ciclomática na compreensibilidade e capacidade de suporte do código?
Por exemplo, em C #, podemos ter o seguinte código:
List<String> filteredList = new List<String>();
foreach (String s in originalList){
if (matches(s)){
filteredList.add(s);
}
}
Isso tem uma complexidade ciclomática simples de 2.
Poderíamos facilmente reescrever isso como:
List<String> filteredList = originalList.where(s => matches(s));
Que possui uma complexidade ciclomática simples de 0.
Isso realmente resulta em código mais suportável? Existe alguma pesquisa real sobre esse tópico?