\(@^0^@)/

[BOOK] 노개북 클린코드, 2장 의미 있는 이름 본문

BOOKS/클린 코드

[BOOK] 노개북 클린코드, 2장 의미 있는 이름

minjuuu 2022. 1. 25. 21:17
728x90

[ 클린 코드 DAY 3 ]

오늘 읽은 범위 : 2장. 의미 있는 이름 (p. 21 ~)

< 책에서 기억하고 싶은 내용 >

의미 있는 이름을 짓기 위해서는

  • 의도를 분명히 밝혀라
    주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
  • 그릇된 정보를 피하라
    나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하지 말아라. ex) hp, aix, sco
  • 의미 있게 구분하라
    연속적인 숫자를 덧분인 이름(a1, a2, a3...)은 의도적인 이름과 정반대.
    Info나 Data는 a, an, the와 마찬가지로 의미가 불분명한 불용어.
  • 발음하기 쉬운 이름을 사용하라
  • 검색하기 쉬운 이름을 사용하라
  • 인코딩을 피하라
  • 자신의 기억력을 자랑하지 마라
    전문가 프로그래머는 명료함이 최고
  • 기발한 이름을 피하라
    재미난 이름보다 명료한 이름을 선택하라
  • 한 개념에 한 단어를 사용하라
  • 말장난을 하지 마라
    ex) add 메서드는 기존 값 두 개를 더하거나 이어서 새로운 값을 만드는데 쓰는 변수이고
    새로 작성하는 메서드는 집합에 값 하나를 추가하는 메서드라면,
    두 메서드 다 add로 하지말고, 새로운 메서드는 insert나 append라는 이름이 적당하다.
  • 해법 영역에서 가져온 이름을 사용하라
  • 문제 영역에서 가져온 이름을 사용하라
  • 의미 있는 맥락을 추가하라
    ex) 주소에 관한 변수들을 생성할 때, firstName, lastName, street, houseNumber, city, zipcode 등에
    addr라는 접두어를 추가해 addrFirstName, addrStreet, addrZipcode 등으로 쓰면 맥락이 좀 더 분명해진다.
  • 불필요한 맥락을 없애라
여느 코드 개선 노력과 마찬가지로 이름 역시 나름대로 바꿨다가는 누군가 질책할지도 모른다.
그렇다고 코드를 개선하려는 노력을 중단해서는 안 된다.
위의 규칙 몇 개를 적용해 코드 가독성이 높아지는지 살펴보라.
다른 사람이 짠 코드를 손본다면 리팩터링 도구를 사용해 문제 해결 목적으로 이름을 개선하라.
단기적인 효과는 물론 장기적인 이익도 보장한다.


< 오늘 읽은 소감? 떠오르는 생각을 가볍게 적어보기 >

코딩을 하면서 변수를 생성할 때, 부끄럽게도 의미 있는 변수를 사용하지 않은 적이 많다.
그냥 생각나는 것을 그때그때 구현하기 바빠서 별생각 없이 매번 머릿속에서 떠오르는 변수로 생성해왔는데,
가끔 지난 코드들을 되짚어보면, 내가 어떤 생각을 갖고 코딩을 하였는지 변수를 통해 알 수가 없고
의미 있는 이름들이 아니라, 중복되고 비슷한 느낌의 변수들을 많이 사용하여 가독성이 많이 떨어지는 것 같다.
그래도 생각해보니 최근에 클론코딩했던 코드는 변수 이름을 조금 길게 적었지만, 그만큼 이 변수가 어떤 역할을 하고 있는지, 예전보다는 파악하기가 쉬워진 것 같다.

다른 사람들의 코드를 보거나 강의를 볼 때, 이러한 점들을 좀 더 주의깊게 보고 내가 코딩할 때 적용해보자!

< 소감 3줄 요약 >

  1. 의도를 분명히 밝혀라 : 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
  2. 의미 있게 구분하라 : 연속적인 숫자를 덧분인 이름(a1, a2, a3...)은 의도적인 이름과 정반대.
  3. 한 개념에 한 단어를 사용하라


[ 출처 : 클린 코드 ]

728x90