개발자

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

2023년 11월 28일조회 242

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

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

답변 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 다른 팀들은 어떤지 궁금하네요!

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

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

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 11월 28일

클래스 이름을 짓는데에는 여러 가지 측면이 있지만, 주로 이 몇 가지 규칙을 따르면 도움이 됩니다: 1. 명확성: 클래스의 역할과 상호작용을 명확하게 설명하는 이름을 선택하세요. 이름 만으로 그 클래스가 어떤 작업을 수행하는지 알 수 있어야 합니다. 2. 일관성: 프로젝트 내에서 비슷한 방식으로 작업하는 클래스는 비슷한 패턴의 이름을 사용해야 합니다. 예를 들어, 도메인 모델에 대한 클래스를 'Model'로 끝내거나 서비스 계층의 클래스를 'Service'로 끝내는 등의 관례를 따르면 다른 개발자들이 읽고 이해하기 쉽습니다. 3. 간결성: 너무 긴 이름은 피해야 합니다. 하지만 이것은 복잡한 문제가 될 수 있습니다. 때로는 긴 이름이 더 명확할 수 있기 때문입니다. 중요한 것은 길이보다 의미입니다. 4. PascalCase 사용: 클래스명은 대문자로 시작하는 PascalCase를 사용합니다. 파이썬 같은 일부 언어에서는 snake_case를 사용하기도 하지만, 이것은 보통 함수나 변수에 적용되며, 클래시명에는 PascalCase를 보통 사용합니다. 5. 도메인 용어 사용: 가능하다면, 프로젝트에 관련된 도메인 언어를 사용하는 것이 좋습니다. 이로 인해 코드가 비즈니스 로직을 더 잘 반영하게 됩니다. 6. 축약형 피하기: 가능한 한 축약형은 피하세요. 'Mgr', 'Proc' 같은 단어는 의미를 왜곡시키거나 혼동을 일으킬 수 있습니다. 전체 단어를 사용하여 명확성을 유지하십시오. 이런 팁들이 클래스 이름짓기에 도움이 되길 바랍니다!

목록으로

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