개발자

[이 주의 질문] 클래스 이름 짓는 나만의 꿀팁?!

2023년 11월 28일조회 256

'이름짓기'는 개발자의 영원한 고충이라고들 하죠 🥲 클래스명이나 변수명을 지을 때 어떤 이름으로 지어야 할 지 잘 떠오르지 않기도 하고, 이 이름이 최선인지 고민하게 되는 경우도 많은데요. 이번 주에는 클래스 이름을 짓는 여러분만의 꿀팁을 공유해주세요! --- *이 주의 질문은 커리어리에서 많은 분들이 궁금해 하시는 질문 중 하나로 선정됩니다. *이 주의 질문으로 올리고 싶은 내용이 있다면 메시지로 알려주세요 :)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

인기 답변

박진만님의 프로필 사진

※ 네이밍 컨벤션 규칙  - 모든 이름은 의미가 있어야 한다. 약어는 피하고, 변수나 메서드의 용도를 명확하게 설명하는 이름을 사용한다.    1) 클래스와 인터페이스   - 파스칼 케이스(PascalCase)로 작성한다.  즉, 각 단어의 첫 글자를 대문자로 쓰고 나머지는 소문자로 작성. [ ex) UserService, CustomerController, DatabaseConnection 등]  2) 변수   - 변수의 이름은 소문자로 시작하고, 카멜 케이스(CamelCase)로 작성한다.  변수 이름은 가능한 의미를 가지도록 명확하고 간결하게 작성해야 한다. [ ex) userName, itemPrice, totalCount 등]  3) 상수   - 스네이크 케이스(snake_case)로 작성한다. 단 상수의 이름은 모두 대문자로 작성하고 단어 사이를 밑줄(_)로 구분한다. [ ex) MAX_LENGTH, PI_VALUE, DEFAULT_PORT 등 ]  4) 메서드   - 메서드의 이름은 소문자로 시작하고, 카멜 케이스(CamelCase)로 작성한다. 그리고 메서드 이름은 동사로 시작한다. 메서드의 목적을 잘 표현해야 하기 때문이다. [ ex) getUserById(), calculateTotal(), openFile() 등]  5) 패키지   - 패키지 이름은 모두 소문자로 작성한다. 그리고 도메인 이름을 거꾸로 사용하여 역순으로 작성한다.  [ ex) com.example.myproject, org.company.application 등]  6) 리소스 파일   - 카멜 케이스(camelCase)로 작성한다. 필요에 따라 단어 사이를 작대기(-)로 구분한다.  [ ex) index.html, styles.css, applicationContext-security.properties 등]  7) 클래스 멤버 접두사   - 클래스의 멤버 변수 중에서 클래스의 상태를 나타내는 변수에는  보통 is, has, should와 같은 접두사를 사용한다.  [ ex) isRunning, hasPermission, shouldUpdate 등]  8) 예약어 피하기   - 예약어로 사용되는 단어는 변수나 클래스 이름으로 사용하지 않는다. ( postgresql 예약어 목록 : https://www.postgresql.kr/docs/10/sql-keywords-appendix.html ) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 클래스와 변수 네이밍 외에 우리 팀에서 지키려고 하는 컨벤션 내용을 정리했습니다. 계속해서 필요하다고 생각하거나 불필요하다고 생각하는 것은 수정하고 있기 때문에 완성이 아닌 참고로 보면 좋을 것 같아요. https://jfbta.tistory.com/251 다른 팀들은 어떤지 궁금하네요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!