Community

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

← Go back
TIL-Assignment #03(2022.02.20[일])
#clean_code
2년 전
882


TIL (Today I Learned)

// 2022.02.20

오늘 읽은 범위

// 2장. 의미있는 이름

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

  • 검색하기 쉬운 이름을 사용하라

  • 한개념에 한단어를 사용하라

    추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다. 예를 들어, 똑같은 메서드를 클래스마다 fetch, retrieve, get으로 제각각 부르면 혼란스럽다. 어느 클래스에서 어느 이름을 썼는지 기억하기 어렵다. 안타깝게도 현실에서는 이름을 기억하기 위해, 라이브러리를 작성한 회사나 그룹이나 개인을 기억해야 하는 경 우가 많다. 안그러면 헤더와 과거 코드 예제를 살피느라 엄청난 시간을 소모하기 십상이다.

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

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

  • 코드를 작성하는 시간보다 코드를 읽는 시간이 더 많은 만큼, ide에서 코드나 변수,함수를 검색하는 시간도 많아서 검색하기 쉬운 이름으로 지으라는 말이 와닿았다.

  • 그러려면 적당히 specific하게 지어야 하는데, 지나치게 도메인의존적인 이름이 아니어야하고, 반대로는 지나치게 general한 이름이 아니어야한다.

  • 이름지을때마다 이런 기준에 부합하는지를 따져보는데, 특히 데이터나 상태의 자료형을 명시해주어야하는 경우가 최근에 반복적으로 등장해서 맞는 방법인지 고민이 된다. 백엔드에서 키를 넘겨주면 보다 덜 복잡한 탐색 함수를 클라이언트 코드에서 구현하지 않아도 되고, 000Array, 000List, 000Dict.. 이런식의 이름들을 짓지 않을 수 있는 것 아닌가 하는 생각..

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

  • specific한, 중복없는 이름을 위해서 긴 이름을 짓는 것이 나은가?