Community

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

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

오늘 TIL 3줄 요약

  • 의도를 분명히 할 것, 의미 있게 구분을 할 것, 맥락이 코드에 명시적으로 드러나야 한다.

  • 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다. 일관적이고 독자적이어야 함.

  • 코드를 읽는 사람이 자신이 아는 이름으로 변환해야 한다면 그 이름은 바람직하지 못하다.

TIL (Today I Learned) 날짜

2022. 04. 24

오늘 읽은 범위

2장. 의미 있는 이름

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

  • 유사한 개념은 유사한 표기법을 사용한다. 일관성이 떨어지는 표기법은 그릇된 정보다. (p.25)

  • 컴파일러나 인터프리터만 통과하려는 생각으로 코드를 구현하는 프로그래머는 스스로 문제를 일으킨다. (p.25)

  • 독자가 코드를 읽으면서 변수 이름을 자신이 아는 이름으로 변환해야 한다면 그 변수 이름은 바람직하지 못하다. 문자 하나만 사용하는 변수 이름은 문제가 있다. (p.31)

  • 메서드 이름은 독자적이고 일관적이어야 한다. 동일 코드 기반에 controller, manager, dirver를 섞어 쓰면 혼란스럽다. (p.33)

  • 집중적인 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 목표다. 의미를 해독할 책임이 독자에게 있는 논문 모델이 아니라 의도를 밝힐 책임이 저자에게 있는 잡지 모델이 바람직 하다. (p.34)

  • accountAddress, customerAddress는 Address 클래스 인스턴스로는 좋은 이름이나 클래스 이름으로는 적합하지 못하다. Address는 클래스 이름으로 적합하다. (p.37)

  • 우리는 문장이나 문단처럼 읽히는 코드 아니면 (정보를 표시하는 최선의 방법이 항상 문장만은 아니므로) 적어도 표나 자료구조처럼 읽히는 코드를 짜는 데만 집중해야 마땅하다. (p.38)

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

  • 오늘 읽은 부분을 반복해서 보게 될 것 같다. 여태 까지 코드 이름을 내가 지었던 것들 중 고쳐야 될 게 많다고 생각이 들었다. 다음에 코딩을 하게 된다면 이름을 지을 때 오늘 읽었던 부분을 고려해서 적용을 해봐야겠다.

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

  • p.35 에서 우수한 프로그래머와 설계자라면 해법영역과 문제영역을 구분할 줄 알아야 한다고 했는데, 이것이 구체적으로 어떤 것인지 바로 떠오르지 않는다. 해법영역과 문제영역이 무엇이고 어떻게 번역이 되었는지 원문을 알아봐야 겠다.