바위타는 두루미
[CleanCode 정리] 2.의미있는 이름 본문
기억하고 싶은 내용
Naming 이름지을때 생각해보아야 할 규칙
- 의도를 분명히 하기. thelist ( X) , gameBoard (O)
-그릇된 정보를 피하기
- 개발시 이용하는 용어 주의하기 List가 아닌데 List사용 X
- 흡사한 이름 사용하지 않기 - 한눈에 보기 어려운 이름
- 의미있게 구분하기 : 컴파일러만 통과하는 코드는 x
- 연속적인 숫자를 추가하는경우 : 의미없는 이름
- 두 변수가 구분이 안되는 경우 ~Data, ~Info => 구분하기 어렵다
- 발음하기 쉬운 이름 사용하기
- 검색하기 쉬운 이름
- 이름길이는 범위크기에 비례해야한다.
-인코딩을 피하라
- 타입표기할 필요없다.
- 접두어 붙일 필요없다. -> 클래스, 함수는 작아져야하고, 멤버변수를 다른 색상으로 표시하는 IDE를 사용해야 마땅함.
- 인터페이스클레스의 경우에는 구체클레스에 접두어 또는 접미어를 붙이는 것이 낫다 ~Imp, C~
-자신의 기억력을 자랑하지 마라
- 클레스 이름 : 명사나 명사구 | but Manager, Processor, Data, Info 단어 피하고 , 동사는 사용하지 않는다.
ex ) Customer, AddressParser
- 메서드 이름 : 동사나 동사구 | 접근자, 변경자, 조건자는 get, set, is를 붙인다
ex) postPayment, deletePage, save
* 생성자를 중복 정의할때는 정적 펙토리 메서드를 이용한다.
ex) Complex fulcrumPoint = Complex.FromRealNumber(23.0) (O)
Complex fulcrumPoint = new Complex(23.0) (X)
- 한개념에 한단어 사용하기
ex ) 똑같은 메서드를 class에 따라 fetch, retrieve, get 으로 사용 X
비슷한 코드 기반에 controller, manager, driver을 섞어쓰면 혼란
- 한 단어를 두가지 목적으로 사용하지 마라
ex ) 두개를 더해서 새로운 값을 만드는 것 : add , 다른 숫자 한개를 더하는것 : add =>X
- 해법용어 (전산용어, 알고리즘이름, 패턴, 수학 용어)를 사용하는것 추천
- 문제 영역과 관련이 깊다면 문제 영역의 용어를 사용해도 됨
- 의미있는 맥락을 추가하라
오늘 읽은 소감
대부분의 내용은 상식선으로 알고 있었지만 의외의 조언들이 있어서 신기했다.
- 멤버변수에 접두어를 붙일 필요없다. 대신 멤버변수를 다른 색상으로 표시하는 IDE를 사용해야 마땅하다는 사실
- Data, Info 를 주의하자
- 이름 길이는 범위에 비례하도록 하자.
'book' 카테고리의 다른 글
[CleanCode]9.단위테스트 (0) | 2022.03.06 |
---|---|
[CleanCode]6.객체와 자료구조 (0) | 2022.03.02 |
[CleanCode] 5. 형식맞추기 (0) | 2022.03.01 |
[CleanCode]4.주석 (0) | 2022.02.24 |
[CleanCode]3.함수 (0) | 2022.02.22 |