본문 바로가기
사소한 글/IT 이야기

코딩 이것만은 지키자! - 주석달기와 변수명 짓기

by 나비와꽃기린 2016. 10. 21.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 



우리, 이렇게 코딩하지는 말자!

 

유지보수 하기 어려운 코드로 작성한다는 의미가

좋게 말해서는 자신 이외에는 코드를 수정하기 어렵기 때문에 직장에서 자신을 필요로 하게 할 수 있는 의미가 되기도 한다.

하지만 그렇게 코딩을 하다 보면, 나중에는 자기 자신도 자신의 코드를 해석하지 못하는 경우가 발생할 수 있으며 인수인계 및 남은 타 개발자들에게는 빅 똥을 선사하게 되는 것일 수 있다.

 

우리…… 적어도 적~~어도 이것만은 지키자.

변수명 짓는 방법과 주석달기에 대한 필자 생각을 적어보았다.

 

1. 변수명은 의미를 전달할 수 있도록 작성하자.



언젠가 이런 얘기를 들은 적이 있다

모 회사가 개발자 한명을 뽑았는데 변수명을 모두 i, aaa, asdf …… 등 이런식의 알 수 없는 코드로 작성해서 혐업의 어려움을 겪었다는….

몇 번이나 권고했지만, 고쳐지지 않아 그 사람은 혐업을 하고자 하는 의지조차 갖고 있지 않다 판단되어 어쩔 수 없이 퇴사를 권고 했다고…………….

 

이런 사례에서 볼 수 있듯이 변수명은 자신이 보기에도,

나중에 유지보수를 할 다른 개발자가 보기에도 의미를 알 수 있도록 설계해야 한다.

 

보통 ModelAndView 클래스라면 mv 라고 변수명을 사용하는게 일반적인 통념으로 자리잡고 있다이렇듯 통용된 줄임말을 사용하거나

사용자 정보라면 userInfo , 파일정보라면 fileInfo 처럼 누가 봐도 의미를 해석할 수 있는 정도로 어휘를 사용하는 것이 좋다.


필자는 그것도 분명 코딩 함에 있어서 좋은 능력 중 하나가 될 것이라고 생각한다.

 

그렇다면 변수명을 왜 잘 작성해야 할까? 에 대한 예시를 봐보자.

사각형의 넓이를 구하는 공식을 작성한다면 아래에서 어느 변수명을 사용한 예시가 더 의미가 잘 들어오는가?

 

long rectangleArea = width * height;

long xyz= xyZ_z * Xy_zZ;

 

당연히 위의 예제를 선택할 것이다.

두 번째 예시처럼 아무 의미 없는 단어를 사용한다면 개발자들은 이게 무슨 언어이지? 하고 해석하는 시간으로 시간낭비와 함께, 로직의 복잡함은 더 높아질 것이다….

xyZ_z Xy_zZ 같이 비슷한 변수 이름을 사용하거나

1l을 겹쳐 사용한다거나 for문에 주로 사용하는 통용된 i를 변수로 사용하지는 말자….


또한 변수 이름이 너~무 길어도 이해하기 힘들어 질 수 있다.

변수는 최대한 간단하고 짧게 이름을 짓는 것이 가장 바람직하지만,

짧게 표현이 되지 않는다면 밑줄 또는 대소문자를 사용하여 구분해주는 것이 좋다.

 


2. 주석은 상세하게 작성하자.



일단 주석이라는 것 자체가 프로그램을 설명하는 중요한 키 역할을 한다.


주석을 기재한 코드와 주석을 기재하지 않은 코드의 해석시간은 확연한 차이와 이해도를 보이기도 한다. 예를 들면 나라는 사람을 소개하고 친구하자 하는 것과 다짜고짜 친구하자 하는 것은 다르기 때문이다.


또한, 자신이 작성한 코드를 평생 자신만 수정할 수는 없다. 그렇기에 반드시 자신이 아닌 다른 사람이 이 프로그램을 수정할 것이라고 생각하며 최대한 설명을 작성해 주는 것이 좋다.


그렇다면 주석은 어떻게 작성해야 할까?

 

모름지기 주석이라면 코드에 대한 개요추가적인 정보들을 제공해 주어야 한다.

또한 사용방식 및 코드에 대한 작성 목적 등을 기술해 주는 것도 좋은 방법이다

왜 이 프로그램을 만들었는지, 이 프로그램은 무슨 일을 하는지, 어떻게 작동하는지 등에 대한 내용이 포함되게 자세하게 적어주면 좋을 것이라고 생각한다.