개발자를 괴롭히는 이름 짓기, 이렇게 해결하세요!

💡 10분 안에 이런 내용을 알려드려요!

  • 함수, 변수 이름 짓기가 쉬워지는 기본 원칙
  • 좋은 이름이 가진 5가지 특징

※ [개발자의 글쓰기] 시리즈의 콘텐츠입니다 ※

* 본 콘텐츠는 2019년 10월에 발간된 <개발자의 글쓰기>의 본문 내용을 퍼블리의 시선으로 발췌해 구성했습니다.

 

개발자의 가장 큰 고민은 이름 짓기다. 아무리 작은 프로그램이나 간단한 애플리케이션이라도 변수 이름부터 함수, 클래스, 데이터베이스 칼럼, 심지어 프로젝트까지 수많은 이름을 지어야 한다. 실제로 2013년에 Quora 사이트와 Ubuntu 포럼에서 개발자 4,522명에게 설문했더니, 절반이 이름 짓기가 가장 힘들다고 대답했다.

 

모든 개발자는 자기 코드를 읽는 사람이 주석 없이도 금방 이해하게 코드를 작성하고 싶어 한다. 함수 이름만 보고도 어떤 일을 하는지 짐작하게 만들고 싶어 한다. 하지만 현실은 그렇지 못하다. 이름을 잘못 지어서 코드를 이해하기가 어렵고, 자기가 이름을 지어 놓고도 나중에는 무슨 뜻인지 모를 때도 많다. 이름 하나 잘못 지었을 뿐인데 일이 몇 배가 된다.

 

이름을 잘 지으면 코드를 짜기도 쉽고 이해하기도 쉽다. 다른 개발자와 소통하기도 쉬워지고, 공개할 경우 외부 개발자에게 인정도 받는다. 게다가 요즘같이 문서를 최소화하는 시대에 문서 대신 코드로 소통하려면 좋은 이름 짓기는 필수다.

 

이름 짓기는 창조가 아니라 '조합'이다

개발자들이 이름 짓기를 어려워하는 가장 큰 이유는 무에서 유를 창조해야 한다는 생각 때문이다. 하지만 이름 짓기는 무에서 유를 창조하는 것이 아니다. 오히려 라이브러리를 사용하는 것처럼 기존 방식이나 이름을 차용해서 새로운 이름을 짓는 경우가 대부분이다.

 

예를 들어, 우리가(한국어를 쓰는 한국인이) 아이를 낳아서 이름을 짓는다고 해보자. 뜬금없이 Alexander Lives라는 이름을 짓지는 않을 것이다. 필자의 이름은 김철수다. 이 중에서 '김'은 성이고, 아버지의 성을 그대로 따랐다. '철'은 돌림자다. 그러니 우리 부모님이 내 이름을 지을 때는 '수' 하나만 결정한 것이다.

 

이처럼 이름 짓기는 정해진 원칙에 따라 적절한 단어를 선택해 조합하는 과정이다. 깃허브의 인기 자바 소스를 분석해 클래스, 함수, 변수 이름의 명명 특징을 연구한 블로그 포스팅 '오픈소스의 네이밍 특징들'은 몇 가지 중요한 네이밍 규칙을 데이터로 증명했다.