IT 관련 책 정리 및 후기/Clean Code

[Clean Code] 2장. 의미 있는 이름

JUN0126 2022. 8. 14. 02:56

코드를 작성함에 있어 변수, 함수, 인수, 파일, 클래스 등 많은 곳에 이름을 지정해야 하는 경우가 있다. 이름만 잘 지어도 해당 용도를 파악하는데에 크게 도움을 줄 수 있다.

 

의도를 분명히 밝혀라

의도가 분명하게 이름을 지어라 코드를 읽는 다른 사람이 코드를 보고 어떠한 의도로 사용했는지 쉽게 알게끔

EX) int d => int daysSinceCreateion, theList => gameBoard 

해당 이름이 충분한 정보를 제공할 수 있도록 명명하라 

 

그릇된 정보를 피하라

1. 다른 시스템에서 널리 사용하고 있는 의미를 가진 이름을 사용하지 말라

2. List, Data, Info 등 주요단어에 추가하여 애매한 의미를 나타내고 있는 단어를 사용하지 말라

3. 흡사한 이름을 사용하지 않도록 주의하라

4. 소문자 L, 대문자 O 등 코드로 보여졌을 떄 헷갈리는 알파벳만을 가진 이름을 지양하라

 

의미 있게 구분하라

변수1, 변수2 처럼 단순하게 표기를 하는것이 아닌 어떤 역할을 하는지 의미 있게 이름을 구분하라

불용어를 추가한 이름을 사용하지 마라 Ex) Customer Object -> Customer : Object라는 단어 추가 시 오히려 혼돈만 온다.

읽는 사람 기준으로 이름이 어떠한 차이를 가지고 있는지 알 수 있도록 명명하라

 

발음하기 쉬운 이름을 사용하라

 

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

단순히 1에서 10이라는 최소, 최대의 범위를 나타내는 것에 1과 10을 선언하는 것 보다 어떠한 것의 최소인지, 어떠한 것의 최대인지 명명하여 값을 부여한다.

Ex) WORK_DAYS_PER_WEEK = 5 // 일주일에 일하는 최대 일 수 

 

자신의 기억력을 자랑하지 마라

반복문 내부에서 사용하는 i, k, j 등 간단한 변수 이름 정도는 선언하여 사용 해도 괜찮지만 이외에는 처음 보는 사람도 알 수 있게 이름을 작성하라

 

클래스, 객체 이름

명사나 명사구를 사용하라

메서드 이름

동사나 동사구를 사용하라

 

기발한 이름은 피하라

자신이 기발하다고 생각하는 이름을 사용하지 말고, 일반적으로 사용되는 단어나 통용되는 단어를 사용하도록 하라

 

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

추상적인 개념 하나에 단어 하나를 선택하여 정하여 그 단어만 사용하라.

EX) 가져오다 -> fetch, retrieve, get 등의 단어가 있지만 이 중 하나만 선택하여 사용하라.

일관성 있는 어휘는 코드를 만들고 이용하는데에 있어서 헷갈리지 않게 할 수 있다.

 

말장난을 하지 마라

맥락이 다르다면 같은 단어를 사용하지 말고 명확하게 단어를 구분하여 사용하라

EX) 값을 하나만 추가 한다면 add, 값을 여러개 추가 한다면 insert

 

해법 영역에서 가져온 이름을 사용하라

코드를 읽을 사람도 프로그래머 이므로 프로그래머가 자주 사용하는 영역의 단어를 사용하라

변수명 보다는 클래스, 메소드 명에 이름을 명명할 떄 적용

EX) GOF 디자인 패턴, Controller, Persistence, Provider, Resolver 등

적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져오도록 하라

 

의미 있는 맥락을 추가하라

앞서 말했던 방법들이 실패한다면 접두어를 붙혀 이름에 맥락을 부여하여 의미를 명확하게 하라

EX) state라는 단어는 어떠한 상태라는 의미이지만 addrState라고 하면 주소 상태라는 주소에 대한 상태라는것을 명확하게 알 수 있다.

 

 

결론

기존에 있던 코드나 다른 개발자들이 사용하는 이름들을 좋은 이름으로 바꾸어 사용하는 것을 주저하지 말며 위에 작성한 명명법을 생각하며 항상 의미 있는 이름을 사용하여 의도를 쉽게 파악 할 수 있게 끔 명명하자.

 

 

해당 내용은 Clean Code를 읽고 정리한 내용입니다.

주관적인 생각과 내용을 같이 적시하였으니 적확한 정보는 해당 책을 통하여 같이 확인 해주시길 바랍니다.

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966260959 

 

Clean Code(클린 코드) - 교보문고

애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유

www.kyobobook.co.kr