의미 있는 이름
1. 의도를 분명히 밝혀라
- 이름에는 의도가 분명히 있어야 한다.
('단일 책임 원칙'에 의거하여 책임에 맞는 이름이어야 한다.)
- 좋은 이름을 지으려면 시간이 걸리지만 그만큼 좋은 이름으로 절약하는 시간이 훨씬 많다.
- 변수/함수/클래스의 목적을 파악하기 위해 주석이 필요하다면 이미 의도를 분명하게 나타내지 못한 이름을 사용한 것이다.
의도가 분명하지 않은 예시)
- public int dTime; // 경과 시간 (단위 : 날짜)
의도가 분명한 예시)
- public int elapsedTimeInDays;
(주석이 없더라도 경과된 일 단위 시간을 나타낸 것을 알 수 있다.)
2. 그릇된 정보를 피해라
- 중의적인 표현을 피한다.
- 컨테이너를 의미하는 이름은 주의한다.
중의적인 표현 예시)
- 개발자 A : 빗변을 나타내는 단어 hypoptenuse를 줄여서 hp라고 사용함
- 개발자 B : hp라는 명칭을 보고 체력이라고 착각함
컨테이너를 의미하는 이름 예시)
- 프로그래머에게 List는 특수한 의미이다. (자료구조)
- accountList가 실제 List형이 자료구조가 아니라면 이름을 다르게 지어라
int[] accountList; -> accountGroup, bunchOfAccounts, Accounts 등으로 명명 하는 것을 추천한다.
3. 의미 있는 구분
- 연속적인 숫자를 붙인 이름을 사용하지 마라 (a1,a2,a3. . .)
- 중복된 의미를 사용하지 마라
(int variable; // variable이라는 단어 자체가 변수라는 의미이다. 변수 이름이 변수가 되는 이상한 상황이 된다.)
(string NameString; // name은 보통 string이다. name을 float이나 int 등으로 저장할 일은 없을 것이다. string name;으로 바꾸자)
4. 발음하기 쉬운 단어를 선택해라
- 프로젝트는 일인 개발이 아닌 이상 혼자하지 않는다. 발음하기 어려운 단어는 의사소통에 어려움을 줄 수 있다.
5. 검색하기 쉬운 이름을 사용해라
- MAX_SLOT_COUNT = 7; 는 검색이 가능하다.
- 상수 7처럼 검색이 어려운(불가능에 가까운)것은 사용하지 마라
6. 자신의 기억력을 믿지마라
- 자기만 아는 명칭은 사용하지 마라
- 단순 반복문을 제외하고는 i, j, k 등의 단일 문자는 사용하지 마라
- 지나친 줄임말을 사용하지 마라 (위에서도 언급됬지만 타인은 알 수 없고 한달 뒤 개발 당사자도 모를 수 있다)
7. 헝가리언 표기법을 사용하지 마라
- 구시대의 유물이다.
- 과거 컴파일러가 타입구분을 엄격하게 하지 않을 때 타입 구분을 위해 사용했던 방법이다.
- 이제는 IDE가 컴파일 하지 않고도 감지한다.
8. 멤버변수 접두어
- 클래스와 함수는 접두어가 필요 없을 정도로 작게 설계 되어야 한다.
이 외에도 많은 내용이 있지만, 결국 이야기 하는것은 위 내용과 일맥상통한다고 판단된다.
Clean Code(클린 코드):애자일 소프트웨어 장인 정신
COUPANG
www.coupang.com
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.
프로그래머에게는 꼭 한번 읽어봤으면 하는 책으로 추천
RememberCook 9월 28일 정식 출시!
두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��
chipmunk-plump-plump.tistory.com
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
Dictionary (딕셔너리) (0) | 2020.05.14 |
---|---|
Generic (제네릭) (6) | 2020.05.13 |
BackBuffer (백버퍼) (5) | 2020.05.01 |
Property Indexer (프로퍼티 인덱서) (5) | 2020.04.30 |
Property (프로퍼티) (10) | 2020.04.29 |