좋은 함수 이름은 함수를 사용하기 쉽고, 유지보수하기도 쉬어진다.
함수의 이름을 만들 때 함수 내부 로직이 어떻게 구현되었는지를 설명하는 이름으로 함수 이름을 짓는 경우가 있는데,
함수의 이름은 구현을 설명하기 보다는 함수의 용도를 설명하는 이름으로 지어야 한다.
즉, 함수의 이름은 How to do(어떻게 했는지)가 아닌 What to do(무엇을 하는지)를 설명하는 이름을 붙여야 함수의 용도를 이해하기 쉬워진다.
어떻게 구현했는지를 설명하는 이름이 아닌, 어떤 목적일 때 사용하는 함숭인지를 설명하는 이름으로 짓는다.
개념 설명:
- 무엇을 하는지에 집중한 이름은 구현 세부사항만 보여줍니다.
- 왜 하는지에 집중한 이름은 개발자의 의도나 비즈니스 목적을 보여줍니다.
이유는?
다른 개발자가 함수를 처음 봤을 때, 함수 내부를 보지 않고도 "언제 이 함수를 써야 할지" 알 수 있어야 하기 때문이에요.
📉 잘못된 함수 이름 예 (무엇을 하는지)
public boolean checkLength(String password) {
return password.length() >= 8;
}
이 함수는 길이를 검사한다는 건 알겠는데, 왜? 라는 의도가 안 보여요.
📈 좋은 함수 이름 예 (왜 하는지)
public boolean isPasswordStrongEnough(String password) {
return password.length() >= 8;
}
→ 이 함수는 비밀번호가 충분히 강력한지 검사한다는 의도를 분명히 드러내고 있어요.
함수를 쓰는 사람이 “이거는 비밀번호 검증용이구나” 하고 바로 이해할 수 있죠.
✨ 또 다른 예시
❌ 안 좋은 이름 (무엇을 함?) : 서버에 요청을 보냄
public void sendRequestToServer() {
// 서버에 요청 전송
}
✅ 좋은 이름 (왜 함?) : 회원 가입을 요청(제출)함
public void submitUserRegistration() {
// 회원가입 정보 전송
}
→ 둘 다 서버에 뭔가 요청하긴 하지만, 두 번째는 "아, 이건 회원가입 제출용 함수구나!" 를 알 수 있죠.
'프로그래밍 > 리팩터링' 카테고리의 다른 글
리펙터링2nd Ch6. 기본적인 Refactoring (0) | 2025.04.25 |
---|---|
불변 함수 vs 가변 함수, 순수 함수 vs 불순 함수 (1) | 2025.04.24 |
리팩터링 2nd 10.3 중첩 조건문을 보호 구문으로 바꾸기 (0) | 2025.04.09 |
리팩터링 2nd 8.7 Split Loop (0) | 2025.04.07 |
리팩터링 2nd 실습하기 좋은 항목 (0) | 2025.04.07 |