Rust iterator 체인은 길어져도 가독성 유지할 수 있다
페이지 정보

영삼이
본문
✅ iterator 체인은 길어져도 가독성 유지할 수 있다
줄바꿈과 정렬로 복잡한 흐름을 명확하게 만들자
Rust의 반복자(iterator)는 체이닝으로 강력한 기능을 제공한다:
let result: Vec<_> = items
.iter()
.filter(|x| x.is_valid())
.map(|x| x.value * 2)
.collect();
하지만 체인이 길어지면 한 줄에 쓰기 어렵고,
가독성이 급격히 나빠질 수 있다:
let result = data.iter().filter(|x| x.cond()).map(|x| x.proc()).filter(|x| x.is_ok()).take(10).collect::<Vec<_>>();
✅ 체인은 줄바꿈과 정렬로 정리하자
let result: Vec<_> = data
.iter()
.filter(|x| x.cond())
.map(|x| x.proc())
.filter(|x| x.is_ok())
.take(10)
.collect();
-
1단계씩 줄바꿈
-
메서드 체인 앞에 마침표 정렬
-
읽는 순서 그대로 흐름 파악 가능
추가 팁
-
필요하면
.inspect(|x| println!("{:?}", x))
로 디버깅 -
.collect()
전에.enumerate()
등 조합 가능
✔️ iterator 체인은 강력하지만,
구조를 드러내는 서식이 없으면 유지보수 어려워진다.
줄바꿈과 정렬로 의도를 명확히 표현하라.
- 이전글Rc와 RefCell은 마지막 수단이다 — 안 써도 되는 구조부터 고민하라 25.03.28
- 다음글enum에 메서드를 구현하면 로직이 훨씬 깔끔해진다 25.03.28
댓글목록
등록된 댓글이 없습니다.