방프리

20.05.18 클린 코드 Day 2 본문

CS & Refactoring/클린코드

20.05.18 클린 코드 Day 2

방프리 2020. 5. 18. 20:40

2. 의미있는 이름

1. 의도를 분명히 밝혀라.

- 변수나 함수 그리고 클래스들의 이름들은 존재 이유, 수행기능, 사용 방법등을 유추할 수 있게 만들어야 한다.

(코드를 읽어서 바로 내용을 알 수 있게 이름을 지어주자)

 

2. 그릇된 정보를 피해라.

- 널리 쓰이는 의미가 있는 단어를 사용해서는 안된다. 여러 개를 묶는 변수는 List가 아닌 복수형으로 지정해주는 것이

좋다.  List 컨테이너로 된 변수 또한 List로 지어서는 안된다. 비슷한 단어는 혼란만을 야기할 뿐이다. 

일관성이 떨어지면 그릇된 정보일 뿐이다. 절대 o, l과 같은 다른 문자와 혼동이 일어날 수 있는 단어는 사용하면 안된다.

 

3. 의미 있게 구분하라.

- 연속된 숫자를 덧붙이는 변수는 아무 의미 없는 변수이다. 읽는 사람이 차이를 알 수 있도록 이름을 만들자.

 

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

- 발음하기 어려운 이름은 토론을 하거나 개발자들 간 소통에 있어서 어려움을 야기시킨다. 그룹만의 독창적인 이름보다

누구나 알 수 있고, 발음할 수 있는 단어를 사용하자.

 

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

- 아직도 상수값을 그대로 사용하는 개발자가 있는가? 공부가 더 필요한 개발자로구나...

 

6. 인코딩을 피하라.

- 헝가리식 표기법 (아직도 2000년 대 초반의 IDE에서 벗어나지 못하였는가?)

 멤버 변수 접두어 (너도? 나도?)

인터페이스 클래스와 구현 클래스

(이제 더 이상 인터페이스 이름 앞에 I 접두어를 붙이는 건 그만... ShapeFactoryImp처럼 혹은 구현 클래스에 C를 붙여 

분리하자.)

 

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

- 똑똑한 걸 자랑하지마라. 전문가 프로그래머는 명료함이 최고라는 것을 안다.

 

8. 클래스 이름.

- 명사 또는 명사구를 활용하자.

 

9. 메서드 이름

- 동사 또는 동사구를 활용하자

 

10. 기발한 이름은 피하라.

- 독창적인 이름은 혼자만 생각하자. 의도는 분명히!! 표현은 솔직하게!!

 

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

- 일관성 있는 어휘로 단어를 선택하라. 하나의 개념에 두 개 이상의 단어가 들어가면 단어별 경계가 모호해진다.

 

12. 말장난을 하지 마라

- 위에서 한 개념에 한 단어 쓰랬다고 다른 행동을 하는데 똑같은 이름을 사용하면 혼동만 야기한다.

 

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

- 기술 개념이 적용된 변수 또는 함수는 기술 이름을 적용하는 것이 설명하기에 편하다.

 

14. 문제 영역에서 가져온 이름을 사용하라.

- 문제 영역과 관련이 깊다면 해당 영역에서 이름을 가져온다. 해법 영역과 문제 영역의 경계선을 잘 구분할 줄 알아야 

한다.

 

15. 의미 있는 맥락을 추가하라.

- 변수에 의미가 없어보인다면 접두어를 붙여보자.

 

16. 불필요한 맥락을 없애라.

- 이름은 짧은 것보다 긴 것이 좋다. 하지만 아무 의미 없는 단어를 추가하면서까지 길 필요는 없다.  
이름을 짓는 이유는 내용을 명확히 전달하기 위함을 잊지말자. 

 

 

 

'CS & Refactoring > 클린코드' 카테고리의 다른 글

21.05.16 클린 코드 Day 3  (0) 2021.05.16
20.05.14 클린 코드 Day 1  (0) 2020.05.14
Comments