Bad Variable Names

Tags:

http://www.oreillynet.com/onlamp/blog/2004/03/the_worlds_two_worst_variable.html
http://c2.com/cgi/wiki?BadVariableNames

변수명을 나쁘게 지으면 얼마나 나쁘게 지을 수 있나. 웃긴 얘기들이 많네요.

1. 오라일리 기사가 뽑은 세상에서 가장 나쁜 변수명 : data, data2. “무슨 데이터냐고요..”

2. Alex의 고백: 예전에 루프를 도는 변수명을 이렇게 지었다: Dracula, Chocula, MonteChristo.

3. const int TWENTY_EIGHT = 28; 이게 무슨 의미가 있냐고 투덜대자 누군가 이렇게 대꾸, “The problem here is that you assume they were thinking!” ㅋㅋ

4. 마찬가지로, #define ONE 1과 #define ZERO 0. 그 반대가 아닌게 천만 다행;

5. 곁가지 치기로 나온 Julian date로의 변환코드에서 남발된 매직 넘버들: year*980294400 + month*2678400 + day*86400 + hrs*3600 + min*60 + sec

6. 지역 라디오 방송국 이름을 변수명으로 사용한 학생의 이야기;

7. int temp = 0; 아니 temp아닌 변수명이 있습니까? -.-;; 저도 temp는 무척 싫어하는 편인데, 물론 굉장히 작은 공간에서라면 임시 변수라는 것과 그것의 의미를 이해하지만, 그냥 무작정 temp, temp2 이러면 없애버리고 싶어짐;;

8. C에서 자바로 넘어온 코더의 소스. int sz = list.size(); 두글자만 더 치면 죽기라도 한단말인가요;;

9. 다음과 같은 소스.
/* important global variables */
unsigned int x;
unsigned int xx;
unsigned int y;
unsigned int yy;

이것 외에 있는 주석은 딱 하나. 바로 이것: “/* Oooh, neat trick */.”

10. 변수명은 descriptive 하게 지으세요라는 룰을 착실하게 따른 이름. lblFraOptFrmAssumptionsTabGrpPrbTabTttL2d 과 lblOptFraOptFrmAssumptionsTabGrpPrbTabSymMra. ㅎㅎ

11. 지명과 사람이름을 명사에 같다 붙이고 동사에는 suck를 남발했던 전직원의 코드의 예: “texas.sucks()” 크크.

Comments

10 responses to “Bad Variable Names”

  1. abraxsus Avatar

    쿨럭…
    찔린다-_-;;;
    나는…
    주로…
    i, ii, iii,
    p, pp,
    x,xx,y,yy,z,zz..
    를 애용했다는..
    -_-;;

  2. abraxsus Avatar

    그러나 말이지, 조금만 변명해보자면,
    좋은 변수명 생각해 내는건 정말이지 시간이 오래 걸리더란 말이쥐!! ㅠㅠ
    때론 전역변수명 좋은거 하나 짓겠다고 10분씩도 날려먹었던적이-_-;;

  3. Rantro Avatar

    temp는 처음 변수를 어떻게 지을지 애매할 때 제일 편하죠. 나중에 마무리할 때 의미있는 변수로 고치면 되구요. 더구나 temp로 변수를 잡으면 “찾기”로 쉽게 찾을 수 있어서 편하죠.

  4. MKSeo Avatar
    MKSeo

    @abraxsus: 응.. 물론 어떻게 이름 짓는것이 좋은가는 또다른 어려운 문제인 듯.
    @Ranto: 찾기로야 찾을 수 있겠지만, 결과물에서 temp를 보는건 어쨌든 전 별로 좋아하지 않는다는 의미입니다. 굉장히 작은 소스안에서 예를들어 swap과 같은 명시적인 목적을 위한 scratch paper? 정도의 이유라면 모르지만 말이죠. 처음 변수를 어떻게 지을지 애매하다는 말은 혹시 그 변수가 무엇을 저장할지 나도 모른다는 의미는 아닐까요? 그럴경우엔 ‘커멘트 먼저, 소스는 나중에’ 와 같은 방식으로 코딩해보는 건 어떨까요.

  5. Rantro Avatar

    커멘트라면 주소를 말씀하시는? 주석을 먼저 쓴다는 건 미처 생각을 못했네요. 고맙습니다.

  6. 쭌 Avatar

    내가 PM을 하다보니 느끼는 문제는
    제각각인 개발자들에게 어떤 코딩 스타일을 강요할 것인가이다.

    물론 개발자의 개성을 중요시 할 수도 있지만,
    억단위 프로그램을 짜면서 한심한 코드를 보면 거시기하지..

  7. MKSeo Avatar
    MKSeo

    어떻게 찾아오신거에요 여긴 ㅎㅎ
    코딩 표준이 있고 그걸 강요하면 좋은데 표준이라고 정해도 늘 피해나갈 수 있으니까 힘든 일인거 같아요. 뭐… 입력과 출력만 맞으면 된다 고 할수도 있긴 한데, 그래도 드라큐라같은 배열명은 ㅎㅎ

  8. wegra Avatar
    wegra

    가장 나쁜 명령어 네이밍을 찾는다면..
    역시 어셈블러가 최고지..
    최근 ARM 코드 보면서
    ‘이 녀석들은 정말 이기 알아먹기 쉬워서 일케 지어놨을까?’
    하는 생각을 많이 하였지..
    머리 구조가 어케 생겨먹었길래.. ㅜㅜ

  9. MKSeo Avatar
    MKSeo

    wegra.. 너 백만년 만이구나…
    대전 안놀러오냐;;;;
    나도 수원갈일이 영 없으니;;;;
    올일 있으면 서로 연락하자!!!

Leave a Reply

Your email address will not be published. Required fields are marked *