💜99_기타
#개발자 #네이밍규칙 #가이드 #카멜 #케밥 #파스칼 #네이밍예제
roomname-dev
2024. 10. 30. 16:16
728x90
* 개발을 하면서 제일 난제는 네이밍을 작성하는 부분일 것입니다.
코드에서 변수, 함수, 클래스 등을 작성할때 가독성을 높이면서 유지보수를 용이하게 만드는 중요한 요소로
대략적으로 사용하는 이유와 대표적인 규칙을 알아보겠습니다.
🦖. 일관성 유지
- 명명 스타일 통일 : 프로젝트별 동일한 명명 규칙을 적용
ex)
1-1. camelCase
- 첫 글자를 소문자로 시작하고, 이후 각 단어의 첫 글자는 대문자로 표기
- userName, totalAmount
1-2. PascalCase
- 모든 단어의 첫 글자를 대문자로 표기합니다.
- UserName, TotalAmount
1-3. snake_case
- 모든 글자를 소문자로 표기하고, 단어 사이를 언더스코어(_)로 구분
- user_name, total_name
1-4. Kebab Case || Hyphen Case
- 모든 글자를 소문자로 표기하고, 단어 사이를 하이픈(-)으로 구분
- user-name, total-name
1-5. Hungarian Notation
- 변수의탑이이나 용도를 접두사로 표기
- strUserName(문자열), iTotalName(정수)
1-6. Json Case
- JSON키의 경우 스네이크 케이스나 카멜 케이스가 자주 사용
- {"firstName": "kim", "lastName" : "chulsoo"}
- {"first_name": "kim", "last_name" : "chulsoo"}
1-7. Dictionary Case
- 키가 소문자로 시작하고, 단어 사이에 언더스코어가 있는 형태
- user_name, my_variable_name, total_name
🦖. 의미있는 이름
- 명확한 이름 : 목적이나 기능을 표출하는 부분
ex)
- 유저 이름 : userName (O), UN(X)
🦖. 접두사와 접미사 활용
- 접두사 사용 : 특정 타입이나 상태를 명시하기 위해 is, has, get
ex) isLoggenIn, hasPermission, getUserInfo
- 접미사 사용 : 함수나 메서드의 반환값을 명시하기 위해 List, Map등의 접미사를 사용
ex) userInfoList(), userInfoMap()
🦖. 짧고 간결하게
- 불필요 단어 제거 : 이름은 짧고 간결하며 의미를 잃지 않아야합니다.
ex) monthlyReporter(O), caculateMonthlyReporter(X)
ex) data(X), userData(O)
🦖. 프로그래밍 언어 관습
- JAVA : 클래스 이름은 대문자로 시작(CustomerOrder)
- Python : snake_case 사용(customer_order)
🦖. 커뮤니티와 팀내 합의
- 코드 리뷰 및 피드백 : 팀원과의 코드 리뷰를 통한 네이밍 피드백 및 규칙 생성
- 팀별 네이밍 규칙에 대한 문서화
728x90