no swim no life

CODE complete, 11: 변수 이름의 효과 본문

work/fundamental

CODE complete, 11: 변수 이름의 효과

달려간다 2009. 1. 9. 18:01

문제 지향성(Problem Orientation)

기억하기 쉬운 이름은 일반적으로 해결책보다 문제에 대해서 말한다. 좋은 이름은 "어떻게" 보다 "무엇"을 표현하는 경향이 있다. 일반적으로 이름이 문제보다 해결 과정의 어떤 측면을 가리키고 있다면, 이는 "무엇" 보다는 "어떻게"에 대한 것이다. 문제 자체를 가리키는 이름을 사용하도록 한다.

 

변수 이름의 일반적인 반의어들

  • begin/end
  • first/last
  • locked/unlocked
  • min/max
  • next/previous
  • old/new
  • opened/closed
  • visible/invisible
  • source/target
  • source/destination
  • up/down

 

전형적인 불린 변수의 이름

  • done 무언가 수행되었다는 것을 가리키기 위해서 done을 사용한다. 이 변수는 루프가 수행되었거나 다른 연산이 수행되었음을 가리킬 수 있다. 무언가가 처리되기 전에 done을 거짓으로 설정하고, 완료되고 난 후 참으로 설정한다.
  • error 오류가 발생했음을 가리키기 위해서 error를 사용한다. 오류가 발생했을 때 이 변수를 참으로 설정하고, 오류가 발생하지 않았을 때 거짓으로 설정한다.
  • found 값이 발견되었다는 것을 가리키기 위해서 found를 사용하라. 값이 발견되지 않았을 때 거짓으로 설정하고, 값이 발견되었을 때 참으로 설정한다. 배열에서 값을 검색하거나 파일에서 직원 ID를 검색하거나 수표 목록에서 특정한 수표 금액을 검색할 때 found를 사용한다.
  • success나 ok 연산이 성공적인지를 가리키기 위해서 success나 ok를 사용한다. 연산이 실패했을 때 이 변수를 거짓으로 설정하고, 연산이 성공적이었을 때 참으로 설정한다. 만약 가능하다면, 성공했다는 것을 정확하게 설명하는 보다 구체적인 이름으로 success를 대체하도록 한다. 예를 들어, 프로세싱이 완료되었을 때 프로그램이 성공한 것이라면, processingComplete를 대신 사용하도록 한다. 만약 값이 찾아졌을 때 프로그램이 성공한 것이라면, found를 대신 사용하도록 한다.

 

음성 축약

어떤 사람들은 단어의 철자보다는 소리에 기반을 두고 축약어를 생성하는 방법을 옹호한다. 따라서 skating은 sk8ing이 되고 highlight는 hilite가 되며, before는 b4가 되고, execute는 xqt가 된다. 이 기법은 알아보기가 너무 어렵기 때문에, 추천하지 않는다. 연습 삼아. 다음의 이름들이 무엇을 의미하는지 상상해 본다.

  • ILV2SK8
  • XMEQWK
  • S2DTM8O
  • NXTC
  • TRMN8R
Comments