컴공생의 다이어리
Clean Naming 원칙 본문
Clean Naming 원칙
모든 이름은 반드시 그 의미가 명확해야 한다.
Function, Class 역할이 명확하면 Naming도 명확해짐
- Clean Function, Class의 제 1원칙은 명확히 한 가지 역할을 하는 것
- 역할이 많으면 이름도 명확하지 않게 됨
- ex)
- createAndSaveUserInfo(), validateDataAndSendEmailAndSMS() : 역할이 너무 많음
- User : 괜찮을수도 있지만 도메인에 따라 일반 사용자인지 관리자인지 혹은 모두를 포함하는지 다소 애매할 수 있음
- GeneralUtil : 어떤 역할을 하는 Util인지 다소 추상적일 수 있음
- ex)
- 명확한 이름을 짓기 어렵다면 Function 혹은 Class가 너무 많은 역할을 하고 있는게 아닌지 고민해야 함
불필요한 정보/반복은 제거
- 이름은 이해가능한 최소한의 정보를 담고 있어야 함 → 너무 짧지도, 너무 장황하지도 않도록
- 불필요한 정보 ex)
- UserData
- processFunc()
줄임말(약어)를 사용하지 말기
- 줄임말은 가독성을 심각하게 저하 시킴
- 누구나 이해할 수 있는 줄임말은 존재하지 않음
→ 나에게 당연하게 이해되는 것이 타인에게는 당연하지 않을 수 있다는 것을 인지해야 함 - 줄임말 ex)
- temp → temparature
- prdt → product
- acc() → accelerateSpeed()
- inc() → increasePrice()
규칙과 일관성은 중요
- 언어 별, 조직 별 Naming Convention을 일관성 있게 지켜야 함
- 일관성은 코드를 이해하고 수정하는 노력을 감소 시킴
- 일관성 없는 Naming은 가독성을 저하 시킴
- 공식 Guide를 조직에 맞게 커스터마이징 하여 내부 Guide를 결정
- 코드 리뷰 시 Naming 등이 Guide를 잘 지키고 있는지 반드시 확인
동료와 상의하기
- 모든 원칙을 적용해도 좋은 이름이 떠오르지 않거나, 내가 명명한 이름에 대한 확신이 없다면 동료와 상의하기
출처 : 코드프레소 <SW 유지보수성 향상을 위한 Clean Code> 강의
https://www.codepresso.kr/course/15
728x90
'Development > 기타' 카테고리의 다른 글
MobaXterm(모바엑스텀) 설치 (2) | 2022.04.04 |
---|---|
소프트웨어에서 Validation & Verification (0) | 2022.03.16 |
Clean Naming이 왜 중요할까? (0) | 2022.02.26 |
인바운드(inbound)와 아웃바운드(outbound) (0) | 2022.02.26 |
[Jupyter notebook] 주피터 노트북에서 자바(Java) 사용하기 (0) | 2022.02.21 |
Comments