개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
// 2022.02.20
오늘 읽은 범위
2장. 의미있는 이름
책에서 기억하고 싶은 내용을 써보세요.
의도를 분명히 밝혀라
변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
그릇된 정보를 피하라
- 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다.(ex hp, ais, sco는 유닉스 플랫폼이나 유닉스 변종을 가리키는 이름)
- 실제 List가 아니라면 accountList로 명명하지 않는다.
- 서로 흡사한 이름을 사용하지 않도록 주의한다.(ex. XYZControllerForEfficientHandlingOfString, XYZControllerForEfficientStorageOfStrings)
의미있게 구분하라(ex. theMessage는 message와 구분이 안된다
발음하기 쉬운 이름을 사용하라
검색하기 쉬운 이름을 사용하라
인코딩을 피하라
자신의 기억력을 자랑하지 마라(한글자 X)
클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
메서드 이름은 동사나 동사구가 적합하다
기발한 이름은 피하라
한 개념에 한 단어를 사용하라
한 단어를 두 가지 목적으로 사요하지 마라. 다른 개념에 같은 단어를 사용한다면 그것은 말장난에 불과하다
해법 영역에서 가져온 이름을 사용하라
문제 영역에서 가져온 이름을 사용하라
의미있는 맥락을 추가하라
불필요한 맥락을 없애라
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
개발자가 코드를 작성할 때 가장 어려워하는 일 중 하나가 변수명을 작성하는 일 같다. 책을 읽으며 의미있는 이름을 위한 리스트를 써내려가다보니 변수명을 정하는게 어려운 일이라는 것이 실감났다. 확실히 변수명이 이상하면 코드를 이해하기 어려운 것 같다. 다른 개발자들이 고통받지 않도록 좋은 변수명을 만들 수 있도록 애써야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
불용어: 인터넷 검색 시 검색 용어로 사용하지 않는 단어. 관사, 전치사, 조사, 접속사 등 검색 색인 단어로 의미가 없는 단어이다. 다만 각 검색 엔진마다 동일하지 않기 때문에 다를 수도 있다.
출처: IT용어사전(https://terms.naver.com/list.naver?cid=42346&categoryId=42346)