컴공생의 다이어리

Clean Naming 원칙 본문

Development/기타

Clean Naming 원칙

컴공 K 2022. 3. 7. 00:02

Clean Naming 원칙

모든 이름은 반드시 그 의미가 명확해야 한다.

 

Function, Class 역할이 명확하면 Naming도 명확해짐
  • Clean Function, Class의 제 1원칙은 명확히 한 가지 역할을 하는 것
  • 역할이 많으면 이름도 명확하지 않게 됨
    • ex)
      - createAndSaveUserInfo(), validateDataAndSendEmailAndSMS() : 역할이 너무 많음
      - User : 괜찮을수도 있지만 도메인에 따라 일반 사용자인지 관리자인지 혹은 모두를 포함하는지
      다소 애매할 수 있음
      - GeneralUtil : 어떤 역할을 하는 Util인지 다소 추상적일 수 있음
  • 명확한 이름을 짓기 어렵다면 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

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr

코드프레소 체험단 활동을 통해 강의를 제공받았습니다

 

728x90
Comments