클래스, 메서드, 변수 이름 짓는 자신만의 노하우는?

2015-03-25 18:43

http://slipp.net/questions/187 에도 비슷한 질문이 있는데 다시 한번 남겨본다.

지금까지 15년 정도 프로그래머로 살고 있지만 프로그래밍에서 가장 힘든 일 중의 하나가 클래스 이름, 변수 이름, 메서드(또는 함수) 이름, 테이블 칼럼 이름 등등 수 많은 이름을 잘 짓는 것이다.

이 작업이 너무 어려워 코드 리뷰를 하면서 학생들에게 "자식을 낳았는데 자식의 이름을 짓는다." 생각하고 이름을 지으라고 누누히 강조한다. 하지만 소스 코드의 Context에 적합한 좋은 이름을 짓는 것은 쉽게 늘지 않는다.

개발자마다 좋은 이름을 짓기 위한 수 많은 노하우가 있으리라 생각한다. 각자 이름을 지을 때 어떤 방식으로 접근하는지, 유용하게 사용하는 웹 서비스나 사전이 있는지 궁금하다.

후배 개발자에게 조언을 해준다는 마음으로 공유해 주면 좋겠다.

1개의 의견 from FB

BEST 의견 원본위치로↓
2015-03-25 22:14

제가 한창 코딩할 때 많이 썼던 방법들 소개합니다. 보통 복합적으로 쓰는 경우가 흔한 듯.

  • 한글 의미 -> 한영사전으로 영어로 찾고 -> 알파벳순 유의어사전으로 유의어들을 살펴봄 (참고로 한국어는 유의어사전이 부실함)
  • 주제별 유의어 사전 (Roget's thesaurus, Random House Wordmenu)
  • 프린스턴대학의 wordnet류(비슷한 것이 많음). 명사 경우 특히 hypernym, hyponym 등을 활용
  • 사전의 임의의 페이지를 열어서 나타난 단어에서 힌트 얻기
  • 다른 사람이랑 대화해 봄
  • 이미 해당 시스템에서 쓰는 이름들을 조사해 봄
  • 명사일 때 단어 뒤에 -er(manager, cleaner 등)이 붙으면 나쁜 이름으로 보고 대체어를 찾음
  • 복합 명사라면 분리하거나 새 이름을 찾는 걸 고려해 봄

2개의 의견 from SLiPP

2015-03-25 22:14

제가 한창 코딩할 때 많이 썼던 방법들 소개합니다. 보통 복합적으로 쓰는 경우가 흔한 듯.

  • 한글 의미 -> 한영사전으로 영어로 찾고 -> 알파벳순 유의어사전으로 유의어들을 살펴봄 (참고로 한국어는 유의어사전이 부실함)
  • 주제별 유의어 사전 (Roget's thesaurus, Random House Wordmenu)
  • 프린스턴대학의 wordnet류(비슷한 것이 많음). 명사 경우 특히 hypernym, hyponym 등을 활용
  • 사전의 임의의 페이지를 열어서 나타난 단어에서 힌트 얻기
  • 다른 사람이랑 대화해 봄
  • 이미 해당 시스템에서 쓰는 이름들을 조사해 봄
  • 명사일 때 단어 뒤에 -er(manager, cleaner 등)이 붙으면 나쁜 이름으로 보고 대체어를 찾음
  • 복합 명사라면 분리하거나 새 이름을 찾는 걸 고려해 봄
2015-03-25 22:56

다음이나 네이버 사전에서 문맥에 맞는 여럿을 찾은 후, 이쁜 이름으로 골라 씁니다. 여기서 이쁜의 의미는 코드를 작성한 후 멀리서 슬쩍 보았을때 있어보이는 것을 뜻합니다.

의견 추가하기