개발 지식

개발 지식

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

페이지 정보

profile_image
영삼이
0건 109회 25-03-28 15:15

본문

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 내부에 두지 말고
함수로 분리해서 명확하게 책임을 나눠라.
읽기 쉽고, 테스트도 편해진다.

댓글목록

등록된 댓글이 없습니다.