SmalltalkBestPracticePatterns:6.1
- 6.1 클래스
코딩 시 클래스에 부여하는 이름만큼 코드의 질에 영향을 미치는 결정은 아마도 없을 것이다. 코드를 읽는 주체가 컴퓨터뿐이라면 C1, C2, C3라고 붙여도 되겠지만, 중요한 주체는 컴퓨터가 아니라 바로 다른 사람들이다.
클래스의 명명은 시스템의 정보를 전달하는 가장 큰 게시판이다. 사람들이 코드를 읽을 때 가장 먼저 보는 것이 클래스 이름이다. 따라서 클래스 이름은 코드를 넘어서 어느덧 개발자들뿐만 아니라 모든 사람들의 대화에 숨어든다. 그러다 10년이 지나면 당신이 정했던 클래스명을 사용하는 프로그래밍에 대해 전혀 알지 못하는 사용자들의 이야기를 듣게 될 것이다.
바람직한 클래스명은 시스템의 목적과 디자인에 통찰력을 제공한다. 바람직한 클래스명은 기본이 되는 공통언어(은유법;metaphor)를 보여주고, 주제(theme)와 변형(variation)에 대한 정보를 전달한다. 그리고 시스템을 여러 부분들로 나누어 부분들이 어떻게 원래대로 다시 돌아가는지 보여준다.
바람직한 명명은 하나의 예술이며, 언제나 예술로 남을 것이다 (Madison Avenue에 물어보면 알 것이다). 바람직한 명명은 모든 사람들에게 중요하다. 분명한 실수를 피하고 함께 잘 작동하는 이름을 생성하면 당신의 클래스명은 평균 이상으로 건너뛸 것이다.