ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 좋은 코딩 습관
    안드로이드/Tip 2011. 5. 8. 02:59

    1. 먼저 코딩하는데 있어 가장 귀찮지만 해놓으면 편리한 주석!

     

    처음 수업을 받으며 예제를 따라하다 보면 간단한 구문들이기때문에 주석을 많이 달지 않았습니다....사실 진도를 따라가느라 정신없어 주석을 달아놓을 여유가 없었지요[...]

     

    하지만 주석 없이 수업내용대로 따라서 코딩한 소스들은 집에가서 복습을 해보려해도 뭐가뭔지 하나도 몰랐습니다. @_@ 분명 배운건 많은데 import가 뭔지.. package가 뭔지... 왜 for문은 시키는대로 했는데 오류가 나는지..

     

    예를들어 다음과 같은 소스가 있다고 가정해봅니다.

     

    위 소스는 output창에 텍스트를 출력해주는 아주 간단한 소스입니다.

    하지만 액션스크립트를 처음 시작하시는분들께서 이러한 소스를 봤다면 머리가 복잡해지겠죠[....]

    어떻게 텍스트가 출력되는지, 왜 extends Sprite가 들어있는지 import는 왜 하는지 등등..

     

    하지만 다음과 같이 간단한 주석을 달아주시면 좀더 쉽게 이해할 수 있습니다.

     

     

    아주 귀찮고 극단적-_-인 주석이였지만.. 이러한 주석을 작성함으로 인해 뭐가 뭔지 좀더 쉽게 알 수 있습니다. 또 다른 예제로 변수를 생성한다고 가정해봅시다.

     

    물론 소스를 만든 사람은 이걸 어디에 쓰는지 알고 있을것입니다.

    하지만 단순한 소스가 아닌 엄청난 양의(막 1~2000줄이 넘는 복잡한 소스@_@) 소스에서 이러한 변수가 있다면, 또한 이 소스를 본인이 아닌 다른 사람이 사용해야 한다면 그 사람은 이 변수가 어디에 쓰이는 물건인지 분석하기 위해 많은 시간을 투자해야 할지도 모릅니다.

     

    하지만 다음과 같이 생성된 변수가 뭔짓을 하는 변수인지 간단하게 주석 한줄을 만들어준다면 최소한 이게 어디에 쓰이는 변수인지 일일이 찾지 않아도 될 것 입니다.

     

    이렇듯이 주석은 다소 귀찮은 면이 있지만 많은곳에서 유용하게 쓰일 수 있고 주석을 달아주는 습관을 몸에 익히면 만든지 몇년이 지난 소스를 다시 열어봐도 뭐가뭔지 잘 알 수 있을것이라 생각합니다.

     

     

    2. 작은것 하나하나에 의미있는 이름을 부여해줍니다!

     

    주석에 더불어 중요한 또 한가지는 객체 등의 "이름을 짓는 일" 이라고 생각합니다.

    이름에는 변수명, 상수명, 클래스명, 함수명 등등.. 많은것이 있겠죠.

    하지만 이러한 이름을 나만 알고있는 단어나 콩글리쉬로 작성한다면.. 게다가 주석도 없다면 큰 불편함이 있을것입니다. 예를 들면..

     

    여러분은 이게 뭔지 아시겠습니까? [.....]

     

    만약 이렇게 변수명을 생성했다면 주석이 없어도 최소한 '내 이름을 쓰는 변수구나..' 라고 추측은 할 수 있습니다. 여기에 주석까지 달려있다면 금상첨화*-_-* 겠죠?

     

    단어를 함축하여 작성하시는 분들도 종종 계시리라 생각합니다.

    예를들어 오브젝트의 x좌표를 기억하는 변수를 생성한다고 가정하였을 때,

    objPosX 요런식으로 작성 할 수도 있지만,

    objectPositionX 이런식으로 작성한다면 더 이쁘고 보기쉬운 변수가 될 것입니다.

     

    또한 java 수업시간에 배운 내용 중 사용자 정의 명칭 명명법이라고 하여 이러한 내용이 있었습니다.

     

     

    물론 '이게 진리다!!' 라고는 말씀드릴 수 없지만 이름을 짓는데 있어 한번 더 생각해본다면 해당 소스를 여러사람이 공유함에 있어 큰 도움이 될 수 있으리라 생각합니다. 그 외 이름을 짓는것에는 여러가지 권장사항이 있고 이러한 부분은 경험과 선배님들의 조언을 통해 습득 해 주시.........

     

     

    3. 이쁜 코딩 *-_-*

     

    많은 개발자들이 그들만의 코딩 스타일을 갖고 있으리라 생각합니다.

    또한 이러한 스타일은 수년간 몸에 익힌 습관이며 저 역시 이러한 습관이 있습니다.

    하지만 처음 개발을 시작하시는 분들께는 가급적 좋은 코딩습관을 만드시길 권장해 드립니다.

     

    이쁜 코딩을 하는데는 아주 다양한 방법이 있습니다.

     

    예를 들어 함수를 생성할 때에는 이러한 식으로 { } 를 엔터로 구분해준다던지.. tab키로 단락을 구분해 준다거나 데이터타입은 한칸 띄워서 (ex. myName: String 등..) 코딩한다던지.. 괄호 ( ) 안에 매개변수 입력시 띄어쓰기를 살짝 해준다던지.. ( 매개변수 ) 등등 많은 방법이 있습니다.

     

    이에 대해 자세하게 설명되어있는 강좌도 많이 있습니다. (링크하려그랬는데 주소가 다 어디갔는지..)

    여기서 핵심은 무엇이냐!! 바로 딱 봐도 눈이 편하고 보기 좋은 코딩을 하는 습관을 기르자는 것 입니다.

     

    // 첫번째 소스

     

    // 두번째 소스

     

    위 두가지 소스 중 어떤 소스가 더 보기 편하신가요?  

     

    실 예로 같이 공부를 하는 친구들이 가끔 문제가 되는 소스에 대해 질문을 던질 때,

    위와 같이 변수명이 특이하다던지, 소스가 정리되지 않았다던지 하면 상당히 보기 힘들었습니다.

    (이쁘고 자세하게 코딩되어있어도 모를판에...orz)

     

    오늘은 코딩하는데 있어 가장 기초적이고 누구나 알고있는 몇가지를 적어보았습니다.

    저 역시 갓 시작하는 입장에서 잘못된 습관을 가지고 있을 수 있습니다.

    간단한 코드를 작성할 때에도 네이버 사전을 열어놓고 가급적 직관적인 이름을 만들고자 노력도 하고.. 최대한 보기 쉽게 소스를 정리하고 알기쉽게 주석을 달아놓으려고 합니다.

    하지만 이를 잊어버릴 때도 많고, 코딩에 집중하다보면 어느샌가 주석은 온데간데없고 네이밍센스는 안드로메다로 가기도 해서 항상 생각 또 생각하고 기억하려고 노력해봅니다.

     

    참, 객체의 이름 길이에 따라 소스의 크기나 퍼포먼스에 미세하게나마 차이가 있다는 자료를 접하기도 하였습니다. 하지만 더 이쁘고 직관적인 소스코드를 위해서는 어느정도 양보할 수 있는 부분이라 감히 생각해봅니다.

    댓글

COPYRIGHT 2010 EpoNg. ALL RIGHTS RESERVED.