소프트웨어에서 이름은 어디나 쓰이며 이름을 잘 짓는다면 개발을 좀 더 수월하게 할 수 있습니다
1. 의도를 분명히 밝혀라
좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 이름짓는 것이 중요합니다.
코드를 작성 후 수정 및 검색을 할 때 직관적인 이름을 지어야 작업이 더 효율적으로 진행될 수 있습니다.
그렇게 하기 위해서는 변수나 함수 그리고 클래스의 이름은 각각 수행하는 기능에 알맞게 지어야 합니다.
다른 사람들과 협헙할 때 누가 이떤 코드를 작성했는지 추론하지 않고 한번에 '아 이 클래스는 이런 기능을 수행하겠구나' 라고 생각할 수 있어야 합니다.
2. 그릇된 정보를 피해라
1번과 비슷한 의미일 수 있지만 이름을 지을 때 예시를 들어 설명하겠습니다. 배열을 만들 때 단순하게 list 로 이름을 짓기보다 list 가 무엇을 의미하는 배열인지 생각하여 작성하는 것이 있겠습니다.
계정 정보들이 담긴 배열의 이름을 accountList 로 짓는다던지 Accounts 라고 명명할 수 있겠습니다.
3. 의미 있게 구분하라
컴파일러를 통과시킨다는 생각으로만 코드를 작성한다면 분명 문제가 발생하게 됩니다. 다음 코드를 보겠습니다.
간단하게 a 와 b 의 거리를 구하는 코드입니다. 하지만 아래와 달리 복잡한 코드를 작성할 때에는 파라미터의 이름을 헷갈릴 수 있습니다.
func distance(a: Int, b: Int) {
// a 와 b 의 거리 구하기
}
그렇다면 어떻게 작성해야 하는가? 물론 의미를 부여하면 됩니다.
func distance(from: Int, to: Int) {
// from 에서 to 의 거리 구하기
}
4. 발음하기 쉬운 이름을 사용하라
프로그래밍은 사회 활동이기 때문에 다른 사람들과 협력하기 위해서는 발음하기 편한 이름을 짓는 것은 중요합니다.
5. 검색하기 쉬운 이름을 사용하라
6. 인코딩을 피하라
7. 자신의 기억력을 자랑하지 마라
코드를 작성할 때 현재 자신이 기억할 수 있다고 자신만 아는 이름으로 지어버린다면 이후 문제가 될 수 있다. 인간은 망각의 동물이기 때문..
8. 클래스 이름
클래스 이름과 객체 이름은 명사나 명사구가 적합합니다. Customer, WikiPage, Account, AddressParser 등이 좋은 예시가 되겠습니다. 반대로 Manager, Processor, Data, Info 등과 같은 단어는 피하고, 동사는 사용하지 않습니다.
9. 기발한 이름은 피하라
10. 한 개념에 한 단어를 사용하라
추상적인 개념 하나에 단어 하나를 선택해 이를 고수합니다. 코드의 이름은 독자적이고 일관적이여야 합니다.
예를들어 어떤 클래스는 DeviceManager 이며 어떤 클래스는 LocationController 라고 지어버리면 코드를 작성할 때마다 Manager 와 Controller 의 차이점을 계속 생각해야 합니다. DeviceManager, LocationManager 라고 일관성 있게 코드를 작성하면 이런 문제를 해결됩니다.
11. 말장난을 하지 마라
12. 해결 영역에서 가져온 이름을 사용하라
13. 문제 영역에서 가져온 이름을 사용하라
14. 의미 있는 맥락을 추가하라
15. 불필요한 맥락을 없애라
코드를 작성할 때 직관적일 수 있게 여러 단어들을 덧붙여 코드를 작성할 수 있습니다. 하지만 이것들은 불필요한 요소들이 될 수 있으며 가독성을 해치게 됩니다. 극단적으로 customerAccountAddress 보다 customerAddress, customerAccount 이렇게 나누는 것이 예시가 될 수 있습니다.
'도서 > Clean Code' 카테고리의 다른 글
Clean Code - 1장 깨끗한 코드 (2) | 2024.09.16 |
---|