본문 바로가기
클린 코드

2장. 의미 있는 이름

by 아토로 2022. 2. 20.

오늘 읽은 범위

  • 2장. 의미 있는 이름

기억하고 싶은 내용

  • 의도를 분명히 밝혀라: 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. (p.22)
  • 그릇된 정보를 피하라: 그릇된 단서는 코드 의미를 흐린다. (p.24)
  • 의미 있게 구분하라: 읽는 사람이 차이를 알도록 이름을 지어라. (p.25)
  • 발음하기 쉬운 이름을 사용하라: 발음하기 어려운 이름은 토론하기도 어렵다. (p.27)
  • 검색하기 쉬운 이름을 사용하라: 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다. (p.28)
  • 인코딩을 피하라: 이름에 불필요한 정보를 추가하지 말고 IDE를 활용하라. (p.29)
  • 자신의 기억력을 자랑하지 마라: 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다. (p.31)
  • 클래스 이름: 명사나 명사구가 적합하다. (p.32)
  • 메서드 이름: 동사나 동사구가 적합하다. (p.32)
  • 기발한 이름은 피하라: 재미난 이름보다 명료한 이름을 선택하라. (p.32)
  • 한 개념에 한 단어를 사용하라: 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다. (p.33)
  • 말장난을 하지 마라: 한 단어를 두 가지 목적으로 사용하지 마라. (p.34)
  • 해법 영역에서 가져온 이름을 사용하라: 기술 개념에는 기술 이름이 가장 적합한 선택이다. (p.34)
  • 문제 영역에서 가져온 이름을 사용하라: 문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다. (p.35)
  • 의미 있는 맥락을 추가하라: 모든 방법이 실패하면 마지막 수단으로 접두어를 붙인다. (p.35)
  • 불필요한 맥락을 없애라: 이름에 불필요한 맥락을 추가하지 않도록 주의한다. (p.37)

소감 및 생각

  • 코딩의 시작은 클래스, 메서드, 변수의 이름을 결정하는 것부터 시작하게 된다. 이때 의미 있는 이름을 선택하기 위해서 많은 시간을 할애할 수밖에 없는 것 같다.
  •  그동안 여러 레거시 코드들에서 의미 없는 이름이나 문맥에 맞지 않는 이름, 심지어 오타가 섞인 이름도 많이 봤었다. 그 경우 코드의 의미를 파악하는데 더 시간이 걸렸고, 잘못 이해하게 되는 경우도 있었다. 이름을 잘 짓는 것은 어려운 일이지만 매우 중요한 것 같다.
  • 레거시 코드를 리팩터링할 때 제일 먼저 의미 있는 이름으로 변경을 해야 된다.

새롭게 배운 개념

  • 헝가리식 표기법: 프로그래밍 언어에서 변수 및 함수의 인자 이름 앞에 데이터 타입을 명시하는 코딩 규칙이다. 하지만 지금은 공식 가이드라인에서 사용하지 말 것을 권고하고 있다.
  • JavaBeans 표준: https://velog.io/@dion/what-is-javabeans-and-why-use-javabeans
 

JavaBeans 정리

JavaBeans 표준 및 JavaBeans를 왜 사용할까에 대해서 정리했습니다.

velog.io

 

'클린 코드' 카테고리의 다른 글

6장. 객체와 자료 구조  (0) 2022.03.01
5장. 형식 맞추기  (0) 2022.02.28
4장. 주석  (0) 2022.02.25
3장. 함수  (0) 2022.02.23
1장. 깨끗한 코드  (0) 2022.02.19

댓글