[31] 시퀀스에 사용할 수 있는 조합 가능한 API를 작성하라
다음 본문은 도서 이펙티브 C# (빌 와그너)에서 나오는 주제를 다룹니다. 함수를 작성할 때 함수 속에서 foreach, for, while등의 반복문을 사용하여 컬렉션을 다루는 경우는 흔히 있다. 이 경우 각각의 함수마다 컬렉션의 일부를 필터링하거나 내용을 수정하거나 하는 등의 작업 후, 이를 다시 반환하는 식으로 코드를 작성할 것이다. 하지만 대부분의 경우 이러한 작업들은 단일 작업이 아니라 여러 작업을 거쳐야 하며, 각 단계를 거칠 때마다 중간 결과를 저장하기 위해서 추가적으로 메모리 공간이 필요하기도 하며, 매번 전체 컬렉션을 순회하기 때문에 큰 비용이 발생하게 된다. 그렇다면 이러한 함수들을 하나의 루프 내에서 수행되도록 병합해버린다면 어떨까? 특정한 상황에서만 사용할 수 있는 거대한 함수가 만..