Clean Code - 제 1장. 의미 있는 이름
Clean Code - 의미 있는 이름
모두 좋은 내용이지만, 개인적으로 핵심만 정리했다.
의미있게 구분하자
애매한 -Info, -Data, -Manager, -Processor 같은 접미사는 피하자. 정확한 정보제공을 위한 단어만 사용하자.
발음과 검색이 쉬운 단어를 사용하자.
타 프로그머와 육성으로 소통하기 쉬운 단어를 사용하자. 그리고 검색이 쉬운 단어가 프로그램 수정을 더 쉽게 할 수 있다. 만약 알파벳 1글자로 사용하는 변수를 사용하려면, 메서드에서 로컬변수 혹은 Loop 의 변수 초기화 때만 사용하자.
해법 영역/문제 영역의 이름을 활용하자.
해법 영역은 컴퓨터 공학 분야를 이야기하는 것 같다. Visitor 패턴을 사용할 때는 AccountVisitor, Queue를 사용하면 JobQueue 같은 이름을 사용하자. 해법 영역에서 답을 못찾으면 구현하려는 Domain 영역에서 작명해보자.
구현에 관련된 작명.
인터페이스와 구현클래스
인터페이스와 구현 클래스 이름 중 인코딩 방식을 넣어야 한다면 구현 클래스를 추천한다.
- 인터페이스 : ShapeFactory
- 구현 : ShapeFactoryImpl
생성자 메서드
생성자를 중복정의 할때, 정적 팩토리 메서드를 사용하자. 메서드는 인수를 설명하는 이름을 사용하자.
- 생성자 : Complex fulcrumPoint = new Complex(23.0)
- 정적 메서드 : Complex fulcrumPoint = Complex.FromRealNumber(23.0);
마치며
사람들이 이름을 바꾸지 않으려는 이유 하나는 다른 개발자가 반대할까 두려워서다. 하지만 좋은 코드를 만드는 우리의 책임감이 있다면 일단 Nudge 부터 시작해야 한다.
댓글
댓글 쓰기