리팩터링

main을 얇게 만드는 책임 이동

minigrep 리팩터링은 인수 해석, 설정 생성, 파일 읽기, 검색 실행을 lib.rs로 옮겨 테스트 가능한 경계를 만드는 과정입니다.

Config::build

args를 받아 query와 file_path를 검증하고 성공 시 설정 값을 돌려줍니다.

run

설정을 받아 파일을 읽고 검색 결과를 출력하는 실제 작업을 담당합니다.

Result 반환

panic 대신 Result로 실패를 올려 main이 사용자 메시지와 종료를 처리하게 합니다.

라이브러리화

핵심 로직이 lib.rs로 이동하면 테스트가 바이너리를 실행하지 않고도 함수 단위로 검증할 수 있습니다.