함수/변수명 잘 짓는 방법 #1
by #독개#1. 변수 네이밍
기본 규칙
- 대소문자 구분 , 길이의 제한 없다
- 예약어 사용 X
- 숫자로 시작 X
- 특수문자 _ 와 $ 만 허용
좋은 변수명
- 변수의 첫글자는 소문자로 시작하는 명사로 시작
- 여러 단어로 이루어진 이름의 경우 각 단어의 첫 글자를 대문자로 (카멜표기법)
- 이름은 가능한 구체적이어야 한다. 하나이상의 목적으로 사용될 이름은 좋지 않다
- 이해하기 쉬운 이름, 차라리 이름이 길어지는게 낫다 상세히 설명, 줄여쓰지 말자
For문
//잘못된예
private void validateNumericPosition(String[] expressionAsArray) {
for (int i = 0; i < expressionAsArray.length; i += 2) {
...
}
}
//올바른예
private void validateNumericPosition(String[] expressionAsArray) {
int numberIndex = 2;
for (int i = 0; i < expressionAsArray.length; i += numberIndex) {
...
}
}
맴버변수 구구절절xx
- 의도가 불분명한 이름보다는 의미있는 맥락이 있는 긴 이름이 좋다
- 하지만 쓸데없이 구구절절한 이름은 오히려 독이다
- 굳이 멤버 변수의 이름을 userName으로 지을 필요없다
- 나중에 불러올때 User.userName , User::userName 이렇게 된다
//잘못된예
public class User{
String userName;
int userAge;
...
}
//올바른예
public class User{
String name;
int age;
...
}
Bool 변수
참인 의미를 함축하는 불린 변수의 이름을 사용한다.
//둘중 뭐가더 읽기 쉬운가
if(notFound == false) {...}
if(found == true) {...}
- 참이나 거짓의 의미를 함축하는 불린 변수의 이름을 사용한다.
- status, sourceFile 같은 변수들은 참이나 거짓이 명백하지 않으므로 좋지 못하다
- statusOK, sourceFileAvailabe 또는 sourceFileFound 와 같은 이름이 좋다
- iffound 보다 found가 더좋다
변수명에 자료이름 X
구지 변수이름에 자료형 이름 int, char 이런거 넣지말자
나중에 자료형 바꿔야하면 이름도 모두 바꿔야한다 타입을 통해서 충분히 어떤 변수인지 파악 가능하다
List, Collection 등의 자료형엔 복수형 명사
private List<Double> numbers = new ArrayList<>();
private List<String> operators = new ArrayList<>();
2. 함수 네이밍
나혼자의 약어 금지
- 쓸데없이 줄이지 말자 차라리 길고 명확한게 좋다
- GetBlockedUserDataList 이걸 GetBUDL 이런식으로 줄이면 안된다
- 관례적으로 줄여오는건 괜찮다
- GetProcessID 를 GetPID 이렇게 줄이는건 괜찮다 다들 이해하니까
- Database = DB
정확한 이름 사용
이름이 길다고 함축적인 것 하지말고, 정확하게 뭘하는지 뭘하는 함수인지 명확히 나타내주자
모든 구현을 다 나타낼 것
절대로 구현을 숨기지 마라
의도를 명확하게 하기 위한 래핑
void highlight(Rectangle area)
{
reverse(area);
}
그냥 reverse라는 함수를 써도 되지만 highlight 라는 함수로 래핑하므로써 hightlight 하기 위한 함수구나 의도를 드러냄
주석은 꼭 필요할때 자세히

- 주석대신 코드로 설명하려다 보면 코드 품질이 많이 좋아진다
- 주석이 대체적으로 불필요한 코드를 만드는게 더 좋다
- 하지만 주석을 무조건 안다는게 좋다X 주석을 달아서 도움이 되는 부분이 있으면 당연히 달아야한다
예상되는 이름의 짝 사용
- Get이 있으면 Set이 어딘가에 있겠구나
- Load & Unload
- Creat & Destory
- Creat & Delete
- Map & UnMap
- GetUserData & SetUserData (ModifyUserData 보다 예상되는 Set이 맞다)
- LoadUserData & UnLoadUserData
EditUserData, ModifyUserData 보다는 UploadUserData를 많이 쓴다
3. 참고
좋은 코드를 위한 자바 변수명 네이밍
JAVA…
tecoble.techcourse.co.kr
'🔥 프로그래밍 학습 > 프로그래밍지식' 카테고리의 다른 글
| [프로그래밍] 값참조, 레퍼런스참조 간단하게 정복 (0) | 2022.11.28 |
|---|---|
| [프로그래밍] 스택과 힙 메모리 (Stack & Heap) (0) | 2022.11.27 |
| 함수/변수명 잘 짓는 방법 #2 (1) | 2022.11.09 |
블로그의 정보
독한 개발자
#독개#