개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
시작이 반이다. 이름 설계도 개발단계에 있어 매우 중요하다.
읽는 사람이 차이를 알도록 이름을 지어라
좋은 이름을 선택하려면 설명 능력이 뛰어나야하고 문화적인 배경이 같아야 한다. 좋은 이름을 선택하는 능력은 기술, 비즈니스, 관리 문제가 아니라 교육문제다.
TIL (Today I Learned) 날짜
2024.03.03
오늘 읽은 범위
2장. 의미있는 이름
책에서 기억하고 싶은 내용을 써보세요.
의도를 분명히:
변수/ 함수 / 클래스의 존재 이유, 수행 기능, 사용 방법 (주석이 따로 필요하다면 의도를 분명히 드러내지 못했다)
그릇된 정보는 피하기:
일관성이 떨어지는 표기법은 그릇된 정보다. (예. 리스트가 아닌데 리스트라고 하거나 등)
의미 있게 구분하기
ProductInfo vs ProductData 의미가 불분명한 불용어
NameString이 Name보다 뭐가 나은가 Name이 부동소수가 될 가능성이 있던가?
명확한 관례가 없다면 moneyAcount는 money와 구분이 안된다.
발음하기 쉬운 이름
검색하기 쉬운 이름
인코딩 피하기
기억력 자랑하지 않기
클래스 이름: 명사
메소드 이름: 동사
기발한 이름은 피하기
한개념에 한단어: 하나의 작업에 fetch, retrieve, get 등..
말장난 하지 않기: 한 단어를 두가지 목적으로. 다른 개념에 같은 단어 사용
해법 영역에서 가지고 오기: 기술 개념에는 기술이름이 가장 적합한 선택이다.
문제 영역에서 가지고 오기: 적절한 프로그래머 용어가 없다면 문제 (도메인) 영역에서 이름을 가져온다
의미 있는 맥락 추가: 관계성 설명
불필요한 맥락 없애기: 일반적으로는 짧은 이름이 긴 이름 보다 좋다. (의미가 분명한 경우)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이름은 사람에게도 개발에게도 중요하다.
많은 조건이 있지만 결국 명확해야하는 부분이 공통적으로 있다.
기능을 빠르게 테스트하고 싶어 함수나 변수명을 매우 짧게 생각 없이 하고 나중에 고쳐야지 했는데.. 역시나 나중은 오지 않는다.. 처음부터 시간을 들여서 계획하고 개발하자.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
인코딩 피하기는 무슨뜻인지 잘 이해하지 못했다..
오늘의 미션