처음 C언어를 배우게 되면 변수에 대해 배우게 됩니다.
변수란 어떤 메모리 영역을 할당해 놓고 그 메모리 영역에 데이터를 저장해 놓거나 꺼내서 사용하고 또한 변경하는 작업들을 수행하기 위한 프로그래밍을 하기 위해서는 필수가 아닌가 생각이 되는데요.
변수명을 지어 주는 것은 조물주가 하나의 생명을 잉태하고 그 것에 이름을 지어주는 것처럼 하나하나의 혼이 들어가게 됩니다.
C언어에서 변수명을 짓기 위한 규칙은 다음과 같습니다.
알파벳('a'~'z','A'~'Z')
숫자(0~9)
특수문자('_')
이 세가지를 혼용해서 변수명을 짓게 됩니다.
단 숫자(0~9)가 맨 앞에 나올 수가 없으며 시스템에서 사용하는 예약어(for,int...)등을 사용할 수는 없습니다.
이렇게 처음 변수명을 만들라고 하면 학생들은 처음에 일반적으로 쉬운 int a; int b; 등과 같이 사용을 하게 됩니다.
실제로 이렇게 변수명을 지어도 프로그램이 동작하는 데는 크게 문제가 없습니다.
왜냐하면 컴퓨터는 실제로 이러한 변수명에 의존하지 않고 메모리 영역을 가지고 움직이기 때문에 컴파일을 해서 컴퓨터 언어로 변경을 했을때는 변수명은 아무런 의미가 없어집니다.
하지만 실제로 이 변수명이 중요한 이유는 프로그램을 하는 프로그래머에게는 무척이나 중요하게 됩니다.
알고리즘 파트와 같이 짧은 프로그램을 할 때는 크게 문제가 되지 않지만 실제 업무 프로그램을 수행하게 되면 몇십줄, 몇백줄 단위의 코드가 아니라 몇만줄 코드로 확장이 됩니다.
여기서 변수명을 제대로 짓지 않으면 이 변수가 어떤 역할을 수행하는지 무척이나 혼동이 됩니다.
그래서 변수명 짓기는 나중에 유지보수나 혹은 팀별로 프로젝트를 협업하여 작성하는 경우는 무척 중요해 지는데요.
대부분의 회사에서 협업을 위해서는 팀 별 혹은 프로젝트별로 변수명을 짓는 규칙을 먼저 만들어 놓고 프로젝트를 수행하는 경우가 대부부인 것처럼 변수명을 짓는 것은 정말 큰 의미를 지니고 있습니다.
여러가지 책에서도 고유의 성격으로 변수명을 짓는 방법에 대해서 많은 부분 나와 있지만..
가장 좋은 것은 내가 봤을때 쏙 들어오고 남이 봤을때 나는 이런 형태로 지었어 라고 흘려 주기만 해도 이 프로그램을 읽을 수 있을 정도로 지었다면 좋은 프로그램이 아닐까 생각 하는데요.
저 같은 경우는 int 타입인 경우 n 으로 시작하고 string 타입인 경우 st 로 시작 하면서 문장 전체를 변수명으로 짓는 경우를 많이 사용하고 있는데요. 가령 꽃에 물을 주는 역할을 수행하는 변수라고 하면 WaterTheFlowers 라고 하고 물을 주었을때 1 물을 주지 않은 상태는 0 을 저장하는 int 타입이라고 하면 nWaterTheFlowers 와 같은 형태로 변수타입과 역할을 변수명으로 짓는 경우를 사용하게 되는데요.
변수명을 짓는 방법은 다양하게 많아서 각 회사마다 다르고 업무마다 다르기 때문에 그때 그때의 규칙을 따라 주면 됩니다.
알고리즘을 하는 학생들은 자신이 금방 이해 할 수 있는 자신만의 고유한 변수명 짓기 방식에 익숙해져야 하는데요.
그러한 이유는 알고리즘 대회에서 자신이 생각한 알고리즘 구현시 변수명 짓는 규칙을 만들어 놓지 않았을 때 변수명 짓는데 고민을 하고 있을 시간이 없다는 것입니다.
따라서 변수명은 자신이 빠르게 지을 수 있는 방법을 고민을 해 보아야 하는데요.
그러한 연습을 하기 전에 다음의 사이트에서 변수명을 지어 주는 사이트가 있어서 소개해 드리게 되었습니다.
https://www.curioustore.com/#!/
제가 임시 변수를 사용하기 위해 다음과 같이 입력해 보았습니다.
일반적으로 사용하는 temporary 라고 뜨는 것을 확인 했는데요.
학생들이 그냥 무턱대고 int a; int b; 라고 짓는 것 보다는 이렇게 변수명에 적합한 변수를 선언해서 사용하는 것을 습관화 하다 보면 코딩도 하고 영어 단어도 외우면서 공부해 지지 않을까 해서 소개해 보게 되었네요.^^
천리길도 한걸음 부터라고 했습니다.
너무 빨리 가려고 뛰어 가다 보면 너무 빨리 지치고 포기 할 수 있게 되니...
한 걸음 한걸음 천천히 내 디디면서 자신이 만들어 가는 돌 탑을 튼튼하게 쌓아 갈 수 있는 학생들이 되기를 응원합니다.
인천 서구 원당컴퓨터 학원