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です。
これにより、実際にサポート可能なコードが増えますか?このトピックに関する実際の研究はありますか?