‘너무 똑똑한 코드를 작성하는 것은 재앙이 일어날 것을 기다리는 것입니다. 코드를 보는 모든 개발자에게 코드를 설명해야 한다면 이미 실패한 것입니다.’
나쁜 코드의 예
var result = new List<int> {1, 2, 3, 4, 5}.Select(x => x * 2).Where(x => x % 3 != 0).ToList();
‘함수형 프로그래밍은 훌륭하지만 LINQ 작업을 너무 많이 체인으로 연결하면 코드를 읽을 수 없게 됩니다.’
‘복잡한 작업을 읽기 쉬운 단계로 나누세요.’
대신 해야 할 일
var numbers = new List<int> {1, 2, 3, 4, 5};
var doubled = numbers.Select(x => x * 2);
var filtered = doubled.Where(x => x % 3 != 0);
var result = filtered.ToList();