Eighteeen / CleanCode_Book_Study

📚 클린코드 북 스터디 📚
4 stars 0 forks source link

[검색하기 쉬운 이름을 사용하라] - 이름 길이는 크기와 비례? #2

Closed sookyeonghwang closed 3 years ago

sookyeonghwang commented 3 years ago
  1. 이름 길이는 범위 크기에 비례해야 한다. (p.28)

    라고 말하고 있다. 어떤 범위, 어떤 크기를 말하는 걸까? 사용되는 범위나 빈도, 크기를 말하는 걸까?,,

  2. 게다가 무조건 간단한 메서드에서는 짧은 문자가 좋은걸까??

WinningBean commented 3 years ago
  1. 쓰이는 영역 범위를 말하는 것으로 이해했어요. 크게는 로컬에서 쓰인다면 작게 전역에서 쓰인다면 크게. 좀 더 자세한 예시로는 project > factory > process > group > object 이런 느낌으로 범위를 따진다고 생각합니다.

  2. 무조건은 아닌 것 같아요. 짧은 문자로 의도를 드러낼 수 없는 경우 필요하다면 긴 문자도 가능하다고 생각합니다. 하지만 범위가 작은 경우 p. 29 의 예제 이상의 긴 문자는 웬만하면 나오지 않을 거라고 예상합니다.

deepredk commented 3 years ago

좁은 영역의 예시

for (int i = 0; i < 5; i++) {

}

{ } 블록 안에서만 사용된다 가장 짧은 한 글자로 자주 사용되는 변수

넓은 영역의 예시

트리, 그래프를 담는 이차원 배열 또는 리스트 배열 (몇십 문제 풀어서 알겠지만 얘는 ㄹㅇ 코드 이곳저곳에서 사용됨)

이런 변수 이름을 대충 t g로 지어버리면 가독성이 굉장히 안 좋을 것 (백준에서 다른 사람 코드 보면 그렇게 짠 게 꽤 많이보이는데 항상 읽기 어려웠음)

요약

에디터에 변수 이름을 검색했을 때 여기저기 흩어져 보일수록 범위가 넓은 것이다!

for문의 i 변수는 { } 안에서 오밀조밀 보일 것이고 다양한 메서드에서 두루 사용되는 전역변수는 위 아래로 스크롤을 해야 보일정도로 여기저기 흩어져 있을 것

좁은 범위에서 사용될수록 주변 코드 맥락으로 쉽게 이해가 되기 때문에 짧게 해도 괜찮고 넓은 범위에서 사용될수록 이 변수가 어떤 변수인지 금방 알아차리기 어렵기 때문에 그만큼 상세하게 설명하는 게 좋다

저는 위와 같이 이해했고 이게 맞다고 생각됩니다.

deepredk commented 3 years ago

간단한 메서드에서는 무조건 짧은 문자가 좋은걸까?

간단한 메서드일수록 변수 이름 외에도 주변 코드 맥락으로 이해되는 부분이 많으니 간결하게 하는 편이 가독성에 좋을 거라고 생각됩니다

대신 복잡한 수식이 사용되었다던지 하는 특정 상황에 따라서는 조금 더 긴 변수 이름으로 설명을 해주는게 좋을 것 같아요

deepredk commented 3 years ago

결론

  1. 에디터에 변수 이름을 검색했을 때 여기저기 흩어져 보일수록 범위가 넓은 것이다
  2. 범위가 좁아도 상황에 따라 조금은 더 긴 변수 이름을 사용하는게 좋다