Rust match 문은 강력하지만, 함수로 분리하면 더 읽기 쉬워진다
페이지 정보

영삼이
본문
✅ match
문은 강력하지만, 함수로 분리하면 더 읽기 쉬워진다
복잡한 분기 로직은 외부로 빼는 게 답이다
Rust에서 match
는 패턴 매칭이 강력하다:
match status {
200 => println!("OK"),
404 => println!("Not Found"),
500 => println!("Server Error"),
_ => println!("Unknown"),
}
하지만 로직이 복잡해지면
함수 안에서 match
가 커지고 읽기 어려워진다.
❌ 문제 상황
fn handle(status: u16) {
match status {
200 => {
log("OK");
update_ui("정상");
}
404 => {
log("404");
alert("페이지 없음");
}
_ => {
log("에러");
alert("문제 발생");
}
}
}
-
보기 어렵고
-
기능별 책임 분리가 안 됨
✅ 해결: match
를 함수 분기로 전환
fn handle(status: u16) {
match status {
200 => handle_ok(),
404 => handle_404(),
_ => handle_error(),
}
}
fn handle_ok() {
log("OK");
update_ui("정상");
}
fn handle_404() {
log("404");
alert("페이지 없음");
}
fn handle_error() {
log("에러");
alert("문제 발생");
}
✔️ 복잡한 분기 로직은 match
내부에 두지 말고
함수로 분리해서 명확하게 책임을 나눠라.
읽기 쉽고, 테스트도 편해진다.
- 이전글clone()은 쉽지만, 남발하면 성능이 떨어진다 25.03.28
- 다음글Option은 if문보다 .map()이나 .unwrap_or()가 더 깔끔하다 25.03.28
댓글목록
등록된 댓글이 없습니다.