[CleanCode] - 1. 의미있는 이름짓기 🐢

FeelingXD·2023년 10월 21일
0

북스터디

목록 보기
13/13
post-thumbnail

Clean Code를 읽으며 개인적인 생각을 정리하는 글입니다. 👀

변수, 함수 이름짓는것이 어려워하는건 다들 마찬가지인 것 같다.. 👀

1. 의도를 분명하게 밝혀라.

"의도가 분명하게 이름을 지으라"고 말하기는 쉽다. 좋은 이름은 코드를 읽는 사람이 좀 더 행복해지리라.

  • 의미를 함축하지마라
# 간단한 변수라도 너무 축약어를 칭하면 어떤 변수로서 사용되는지 알기어렵다.
d,m,y # 단순하게 약어보다는 의미가 분명하게 작성하는것이좋다.

day,month,year # 🙃

가령 PS 문제를 풀때에도 변수나 함수명을 아무렇게 짓지않았는가 ?
"어짜피 나혼자볼 코드인데 뭐어때 ? "라는 생각을 해도 미래의 당신이 코드를 보고 이해해야하는데 시간을 소모할수있다.🤔

2. 그릇된 정보를 피해라.

  • 중의적으로 해석될수있는 단어는 피하는게 좋다. (my,~~'s)
  • 개발자에게 특수한 의미를 가지는 단어들은 피하는것이좋다. (List, import,map)
    차라리 복수형 으로 명명하는것도 좋은선택이다 (accountList-> accounts)
  • 비슷해 보이는 명명에 주의하자.

3. 발음하기 쉬운 이름을 사용하자.

// 예제코드
class foo{
	private Date genymdhms; // generate date,year month,day ,hour, minute, second -> 😫
    private Date generationTimeStamp // -> 😁
}

코드를 작성하다보면 변수를 축약해서 지정할 때가 있는데 정말 좋은 이름인지는 한번 읽어보자. 읽기 편하고 한번에 이해할수있는단어인가 ? 그렇지않다면 잘못된 명명법이다. 가령 위의예제코드처럼 생성일자를 "제냐무다함즈" 이런식으로 읽을 수 는 없지않는가.

4. 검색하기 쉬운 이름을 사용하라

문자 하나를 사용하는 이름이나 상수는 검색이 어렵다.
검색의 관점에서 긴 이름이 짧은 이름보다 좋다.

5. 인코딩을 피하라

변수명에 타입 작성하지않기(int intNumber -> x)
멤버변수에 접두어를 사용하지 않기 (매개변수와 중복된다면 다른이름 고려하기)

6. 한 개념에 한 단어만 사용하라 (중복 혼용방지)

추상적인 개념 하나에 단어 하나를 사용하자.
fetch, retrieve, get
controller, manager, driver

profile
tistory로 이사갑니다. :) https://feelingxd.tistory.com/

0개의 댓글