ex) 지금까지 구현한 모든 add 메소드가 기존 값 두개를 더하거나 이어서 새로운 값을 만든다고 가정하자. 새롭게 작성하는 메소드는 집합에 값을 하나만 추가한다. 일관성 있게 add라는 메소드명을 사용해야 하는가? 아니다. insert나 append 등 다른 이름을 사용하자.
ex) firstName, lastName, street, houseNumber, city, state, zipcode 라는 변수가 있다. 변수를 훑어보면 주소라는 사실이 금방 알아챈다. 하지만 어느 메소드가 state라는 변수 하나만 사용한다면? 변수 state가 주소의 일부라는 사실을 금방 알아챌까? addr 접두어를 추가해 addrFirstName, addrLastName, addrState라고 쓰면 맥락이 분명해진다.
ex) Gas Station Deluxe 라는 어플리케이션을 작성한다고 해서 클래스 이름 앞에 GSD를 붙이지는 말자. GSDAccount, GSDUser .. G를 입력하고 자동완성을 누를 경우 모든 클래스가 나타나는 등 효율적이지 못하다.
좋은 이름을 선택하려면 설명 능력이 뛰어나야 하고 의미가 뚜렷한 어휘인지 분별할 줄 알아야 한다. 다른 개발자가 반대할까 두려워 이름을 바꾸지 않아서는 안된다. 나름대로 수정했다가 질책을 받더라도 개선하려는 노력을 중단해서는 안된다. 그래야 자연스럽게 읽히는 코드를 짜는 데에 더 집중할 수 있다. 단기적인 효과는 물론 장기적인 이익도 보장한다.