백발 청년 햄버거 메뉴

목차

    안녕하세요. 백발청년 입니다. 동국대학교 홍정모 교수님의 C++인강, 따배씨++의 강의노트를 포스팅해봅니다. 오늘의 주제는 키워드와 식별자 이름 짓기 입니다.

     

    지난 강의노트들은 아래에서 확인 가능합니다.

     

     

    지난 강의노트들은 아래와 같습니다.

    9부 : 함수에서 여러개의 리턴값 반환하기(C++17) https://whiteheadyouth.tistory.com/228

    8부 : 함수와의 첫 만남 https://whiteheadyouth.tistory.com/222

    7부 : 입출력 스트림과의 첫 만남 https://whiteheadyouth.tistory.com/211

    6부 : 변수와의 첫 만남 https://whiteheadyouth.tistory.com/208

    5부 : 주석을 잘 다는 방법 https://whiteheadyouth.tistory.com/183

    4부 : 프로그램의 구조 https://whiteheadyouth.tistory.com/181

    3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170

    2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161

    1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155

    0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89 

     

     

     

    식별자 (identifier) 변수의 이름, 함수의 이름 객체의 이름 등 모든 이름이 identifier 입니다. 메모리 주소를 프로그래머가 인식할 수 있는 이름으로 바꿔주는 것으로 생각하면 됩니다.


    식별자 이름짓기는 실력보다는 센스에 가깝다고 합니다. 그래서 오히려 문과쪽인 사람들이 잘할 가능성도 있고, 코드정리도 더 깔끔하게 할 수도 있습니다.

     

     

     

    여기서 보이는게 리절브드 키워드 라고 합니다. 리절브드 키워드는 뭐 정해져 있는 키워드다 정도로 해석 가능하겠습니다. 리턴, 인트, 롱, 그런거 보이긴 합니다. 분야에 따라 안쓰는것도 꽤 있고, 필요에 따라 그때그때 공부해서 쓰면 됩니다.

     

    모든 단어의 이름을 알고 있어야 한다는 건 아닙니다. 오히려 이름을 지을 때 이런 단어를 쓰면 안된다 정도로 보시면 됩니다.

    모든 단어의 이름을 알지 못하더라도 하다보면 어느틈에 이런걸 다 설명할 수 있게 된다고 합니다.

    주의사항은 C++가 급격히 편리해지고 있는데, 부작용이 바뀔수 있는게... C++11 -> C++17에서 바뀌고 하는 경우들이 있다고 합니다.

    오늘은 따라하기보단 간단하게 들어두는 쪽으로 강의를 진행합니다.

     

    변수 앞이 숫자로 시작하는 변수는 절대로 불가능 합니다. 이를테면 int 3three; 같은 거겠지요.

     

    변수 앞이 세미콜론이나 "." 그리고 "->" 같은 것들도 불가능합니다.

    이를테면 int ;three;   int .aaa;    int ->aaa; 등이 있겠습니다.

     

     식별자라는 건 알고나면 상식적으로 이해가 가능한 것들 입니다. 이를테면 int value; 는 값을 지칭하는 변수일테구요. int v;는 value를 줄인것일 겁니다. int a; a라는 정수형 변수를 선언한 정도로 볼 수 있겠습니다. 가급적이면 길지 않으면서 의미를 표현할 수 있는것들이 좋습니다.

    예를들면 int num_apples;int n_apples; 로 표현하는 것처럼 가급적 줄임말도 사용하는 것이 좋습니다. 단, 줄임말을 사용했을 때 쉽게 알아볼 수 있어야 겠습니다.
    여기서 "_"는 언더바, 혹은 언더스코어 라고 불리는데, "_"를 이용해서 단어끼리 띄어쓰기를 하곤 합니다. 변수명에 빈칸이 이쓰면 안되기 때문에 "_"를 사용합니다. 예를 들어 number of apples를 쓰고 싶은데, 빈칸이 있으면 안되니, number_of_apples로 쓰는 것 처럼요.

     

    코딩하기 편하게 줄여쓰기. 몇일 후에 봤을 때 이해가 갈 수 있을 정도로만.
    머리가 좋다고 다 외우는것은 아니고, 못외운다고 머리가 나쁜건 아니다.
    사람은 기계가 아니라 사람이라서 다 외우지 못하는것.

    int VALUE;  이처럼 변수명을 대문자로 써도 됩니다. 그러나 잘 안씁니다. 대문자를 쓰기 번거롭기도 하고, VALUE 는 매크로에 많이 쓰이기도 합니다. 안되는건 아니지만, 프로그래머들끼리 관습적으로 사용하는 규칙들이 꽤 있는데, 그중 하나라고 합니다. 그래서 가급적이면 소문자로 쓰는게 좋습니다.

    int VaLuE; 이것도 가능하지만 타이핑하기 어려워서 사용하지 않곤 합니다만, 요즘 자동완성 기능으로 또 덜 귀찮아지고 있습니다

    이를 통해 생각해볼 만한 것은 자동완성 기능을 최대한 활용하는 것이 좋다는 것, 개발환경(IDE)의 성능을 최대한 끌어올려서 사용하는것이 좋다는 것 이죠.


    int nApples; VS int n_apples; 이 둘중에는 어떤 걸 쓰는게 맞는걸까요? 그냥 같이 코딩하는 사람들끼리 맞추는게 좋습니다.

     

     

    변수명은 이렇게 살펴보았고, 함수이름은 대문자로 많이 시작한다고 합니다. 소문자로 쓰는 경우도 많아지고 있습니다. 이 역시 같이하고 있는 사람이랑 맞추는 편이 좋습니다.

    void Myfunction()

    void GetNumber()

     

    함수의 이름을 보면, 앞은 동사로 뒤에는 명사인 경우가 많습니다. 그러나 역시나 보는 사람(특히 나 자신)이 가장 편하게 알아볼 수 있는 것이 좋겠죠.


    변수명, 함수명 이 아주아주길어지는경우엔 주석을 달아놓고 이름을 짧게쓰는 것이 좋습니다. 

    함수의 주석을 따라갈 수도 있고, 가져다 대면 주석이 뜨게 하는 경우도 있으니까요.

     

    주석을 달아놓았을 때, 함수나 변수를 블록지정해서 우클릭하면 위와 같이 정의로 이동, 선언으로 이동이라는 명령들이 있습니다. 눌러보면 해당 주석을 확인 가능합니다.


     

     

     


     언더바를 앞에 붙이기도 하고 뒤에 붙이는 경우도 있습니다.

     

     


    연습문제 삼아서 옳은지 그른지 확인해봅시다.

    가능한것 불가능한 것을 따져보는것 이지요.

    이를테면 변수명 앞에 숫자가 들어가면 안된다거나, 리절브드 키워드로 쓰이고 있어서 안된다거나, 널리 사용되어지고 있는 VALUE같은 것이라든지, 변수명에 빈칸이 들어가있는 경우라든지, 하는 것들이 보이네요. 

     


    변수명, 함수명을 짓는데에 있어 원칙은 편한것, 프로그래머의 효율을 생각해서 어떻게 하면 편하게 지을 수 있는가 그리고 장기적으로는 함께 코딩을 하는 사람들과 의사소통이 잘 되려면 어떻게 지어야 하는가를 생각하는게 좋다고 합니다.

     

     

     

     

     

     

    댓글
    위쪽 화살표
    도움이 되었다면 공감(하트)과 댓글을 부탁드려요.
    //스크립트는 script로 수정해주세요.//