함수를 한 가지 일만 하도록 쪼갠 경험
팀 프로젝트 코드 리뷰에서 팀원이 내 함수를 이해하는 데 10분이 걸렸다고 말해주었습니다. 읽어보니 하나의 함수가 입력 받기, 검증, 저장, 응답 생성을 한꺼번에 하고 있었습니다.
역할별로 함수를 분리하는 방식으로 리팩터링하였습니다. 입력 검증 함수, 저장 함수, 응답 생성 함수를 각각 만들고 이름을 의미 있게 붙였습니다. 길이가 70줄이던 함수가 15줄로 줄어들었고, 오히려 테스트 작성도 쉬워졌습니다.
코드 가독성이 혼자 읽는 것이 아니라 팀원이 읽어야 한다는 기준으로 작성해야 한다는 것을 그때 배웠습니다. 짧고 이름이 명확한 함수가 영리한 긴 코드보다 낫다는 것도요. 지금은 코드를 작성할 때 '다음 사람이 이 코드를 읽으면 무엇을 이해해야 하는가'를 먼저 생각합니다.
그 경험 덕분에 한 단계 성장할 수 있었습니다.