ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [변수명 표기법] CamelCase 표기법이 뭐에요?!?!
    카테고리 없음 2012. 3. 23. 11:45
    일기는 개발을 처음하기 때문에 모든 것이 낫설게만 느껴진다...

    하다 못해... 남들이 써놓은 클래스명, 변수명을 보고도 무슨 특별한 의미가 있는가? 그냥 쓰는가? 라고 고민도 하고...;;

    알고보니 특별한 의미는 없으며(?) 남들이 알아보기 쉽고 연상이 바로 되는 단어로 선정하는 것이 중요한 것이였다!!

    일례로... 사투리와 표준어를 보면...

     // 널찌다는 떨어지다의 경상도식 표현
      NSString *널찌다;
      NSString *떨어지다;

    위와 같이 떨어진다의 의미를 가진 변수명을 경상도 사람이 '널찌다'로 선언을 해두었다고 한다면...

    서울 사람은 '널찌다'의 의미가 뭔지도 모르고 어디에 쓰이는지 한참을 찾아본 다음에...

    "아! 떨어진다는 의미로 사용했구나!" 하고 깨닫게 될것이다...

    이런 경우가 한두번이라면 그러려니하고 넘어가겠지만...

    무수한 많은 변수명이 저런식으로 되어 있다면 의미를 알아내는데 어마어마한(?) 시간을 소비하게 될지도 모른다...

    따라서 변수명은 누구나 알아보기 쉬운 의미로 선언하는 것이 좋다.

    그럼 알아보기 쉬운 단어로만 쓰면 되는것이네!?!?! 라고 하신다면... 아래에 다른 예를 보자...

     // IB에 버튼을 생성하고 액션을 주는 경우의 변수명
     // 버튼은 불을 켜는 역할을 수행한다.
      - (IBAction)firebuttonclicked;

    위 메소드명은 분명... 의미는 전달이 된다... fire button clicked... 불 버튼 눌림.... (짧은 영어의 한계... -_-;;)

    그러나 소문자들로만 주루루루룩~ 나열되어 있다보니 알아보기 힘들고 뭔가 어수선한다!!

    그럼 좀 더 눈에 잘띄게 아래와 같이 고쳐보자...

      - (IBAction)fireButtonClicked;

    어떤가??? 왠지모르게(?) 조금더 눈에 띄고 의미도 전달이 되지 않는가???

    위 메서드명과 같이 각 단어의 시작을 대문자로 구분하는 것을 "Camel Case"라고 한다...

    아마도 낙타등 모양 때문에 -_-?? 오르락 내리락~

    Camel case에도 제일 앞문자를 대문자로 쓰는 경우도 있고, 소문자로 쓰는 경우도 있다...

    보통의 경우 클래스명의 경우는 대문자로 시작... 메서드 및 변수명은 소문자로 시작을 하며...

    이외에도 _(언더바)를 붙이거나 하는 경우도 있는데... 그건 일기도 모르니 아시는 분은 알려주시면 감사!!! @_@;;



    위에 별 시덟잖은 예를 들어가며 얘기를 했는데... 요약하면 아래와 같다....

    1. 일단 알아보기 쉽고 연상되는 의미의 명칭(클래스, 변수, 메서드 등등...)을 사용한다.

    2. Camel case 표기법을 사용한다.

      ① 클래스
        - 대문자로 시작한다.
           (ex) @interface CamelViewController : NSObject {...}

      ② 메서드
        - 첫글자는 소문자로 시작하고, 뒤의 단어부터는 대문자로 쓴다.
          (ex) - (void)animalAttack {...} 
        - 참고로 동사 + 명사의 영어 문법식을 쓴다는데... 일기는 영어가 안된다... (no english!!!)
          영어가 되시는 분들은 위의 문법으로 써주시면 좋을 듯... (eatSomething 처럼?!?!)

      ③ 변수
        - 변수도 메서드와 같이 기본은 소문자로 시작하고, 뒤의 단어부터 대문자를 쓴다.
          (ex) NSString *bookName;
        - 그러나 상수와 같이 고정값을 이용할 때는 전부 대문자를 써주는게 좋다!
          (ex) NSInteger WIDTH = 100;
Designed by Tistory.