Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL 2장. 의미 있는 이름
#clean_code
2년 전
609


TIL (Today I Learned)

2022.2.20

오늘 읽은 범위

2장. 의미 있는 이름

책에서 기억하고 싶은 내용을 써보세요.

  • 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다. 예를 들어, 똑같은 메서드를 클래스마다 fetch, retrieve, get 으로 제각각 부르면 혼란스럽다. 어느 클래서에서 어느 이름을 썼는 지 기억하기 어렵다. ...... 한 단어를 두 가지 목적으로 사용하지 마라. 다른 개념에 같은 단어를 사용한다면 그것은 말장난에 불가하다. ...... 하지만 때로는 프로그래머가 같은 맥락이 아닌데도 '일관성'을 고려해 add라는 단어를 사용한다. 집합에 값 하나를 추가하는 경우 insert나 append라는 이름이 적합하다. (p. 33~34)

  • 프로그래머는 코드를 최대한 이해하기 쉽게 짜야 한다. 집중적인 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 목표다. ...... 논문 모델이 아니라 의도를 밝힐 책임이 저자에게 있는 잡지 모델이 바람직하다.

  • addr 라는 접두어를 추가해 addrFirstName, addrLastName, addrState라 쓰면 맥락이 좀 더 분명해진다. 변수가 좀 더 큰 구조에 속한다는 사실이 적어도 독자에게는 분명해진다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 니코쌤이 강의 중간 중간에 변수명을 의미가 전달될 수 있게 수정하던 순간이 떠올랐음. 나름대로 원칙을 가지고 변수명을 작성할 수 있게 연습 또 연습!

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • P.31 <인터페이스 클래스와 구현 클래스> 부분에서 저자는 "인터페이스 클래스 이름과 구현 클래스 이름 중 하나를 인코딩해야 한다면 구현 클래스 이름을 택하겠다. ShapeFactoryImp나 심지어 CShapeFactory가 IShapeFactory보다 좋다"고 했는데, 개인적으로는 반대로 IShapeFactory가 더 낫지 않나 싶다.