티스토리 뷰

오늘은 프로그램 코드를 작성할 때 어떻게 구조를 잡아야 아름다운 코드가 될 수 있는지에 대해서 이야기하고자 한다.
프로그램을 처음 접하는 개발자는 어떻게 프로그램을 작성해야 하는지를 생각하게 된다. 프로그램은 언어별 문법에 맞으면 어떤 구조로 작성을 하여도 실행이 된다. 그러나 프로그램 코드는 다른 개발자와 의사소통을 하는 첫 번째 수단이다. 다음 코드를 보자

public void logprint(){ System.out.println("처음 작성") ;
int a=5; System.out.println(a);}

public void logPrint() {
     System.out.println("처음작성");
     int a = 5;
     System.out.println(a);
}

logprint 메서드와 logPrint 메서드 중 어떤것이 보기 좋게 구성이 되었는지 눈으로 보아도 알 수 있다. "보기 좋은 떡이 먹기도 좋다"라는 속담이 있다. 프로그램 코드도 보기가 좋으면 이해하기 쉽게 도와준다. 프로그램 코드를 작성할 때 주의할 사항은 다음과 같다,

  1. 들여 쓰기를 해라
  2. 탭 또는 스페이스를 사용하여 공간의 미를 적용해라.
  3. 불필요한 코드는 작성하지 마라.
    - 불필요한 코드는 잠재적 오류를 낼 수 있다.
    - 불필요한 코드는 코드를 이해하기 어렵게 만든다.
  4. 주석은 이해하기 쉽게 작성을 해라.
    - 읽어서 이해가 가지 않는 주석은 작성하지 마라. 주석이 코드를 이해하기 힘들게 할 수 있다.
    - 필요한 곳에 주석을 작성해야지 프로그램 라인별로 작성하지 마라.
  5. 코드는 하나의 기능을 수행 되도록 함수의 크기를 작게 작성해라.
    - 하나의 함수의 라인 수 가 길어 진다면 이 함수는 하나의 기능이 있는 것이 아니라 여러 기능이 복합적으로 있는 것으로 코드를 이해하기 힘들게 한다.
    - 코드는 책을 읽어 나가든 읽으면서 이해 할 수 있는 코드가 좋은 코드이다.
    - 긴 함수는 단위 기능으로 쪼개서 관리 되면 재사용을 할 수 있다.

프로그램을 작성하면서 가장 어려운 것이 명명하기 이다. 파일명, 클래스명, 함수명, 변수명을 작성할 때는 의미 있는 명을 작성해야 한다. a, I, k 와 같은 의미 없는 명을 작성하면 코드 전체를 확인 후 의미를 알 수 있게 한다면 그건 시간 낭비다. "시간은 금이다". 명명을 할 때 축약을 해서 작성을 해야 하는 것은  피해야 하지만  어쩔 수 없이  축약을 해야 한다면  헝가리안 표기법과 같은 표기법으로 작성해야 하며 일반적으로  통용되는 url, num, add 같은 한 단어보다는 한 개 이상의 단어를 복합해서 사용해야 하여  축약해야 한다. 에로 고객번호는 customerNumber을  custNum 이런 식으로 명명해야 한다. 특히 변수를 사용할 때는 다음 사항에 주의를 해야 한다.

  1. 변수의 범위를 전역화 하지 말아야 한다.
    - 변수가 전역화 되면 어느 곳에서 변수의 값이 변경이 되어도 알 수 없어서 잠재적 오류가 발생 할 수 있다. 특히 자바스크립트에서는 죽음이다.
    - 변수는 함수 내부에서 만 사용되도록 지역화 하고 클래스 안에서 만 사용되도록 private로 선언해서 사용해라.
  2. if ( height  > 10 ) 또는 if ( nation = "한국")과 같이 값에 의미가 있다면 상수를 사용해라.
    - 변수는 마술을 부린다. 변수는 변하는 수를 저장하는 것으로 의미가 정확하고 변하지 않는 값을 가지고 있으면 상수화 해라. 매직 변수를 사용하면 잠재적 오류가 발생할 수 있다.
  3. 정적 변수를 사용해라.
    - 실제 프로그램에서 변수의 값이 변경되는 경우는 많이 없다. 최초 한번 값이 저장되면 값을 변경하지 않고 사용이 되는데 이때 해당 변수를 정적으로 선언해서 사용해라 ( static, const.. 언어별 정적 변수 선언 방법은 틀리다 )
  4. 변수에서 null은 피해라
    - 프로그램에서 가장 짜증 나는 것이 nullpoint error이다. 변수를 선언하고 초기화를 한 후 사용 하도록 하고 변수 사용 시 null에 대한 검증을 해라.

프로그램 코드는 책을 읽듯이 읽으면서 이해가 되는 것이 가장 좋은 코드다. 조금만 시간을 투자해서 고민하면 개발 시 어렵지 않게 작성할 수 있다. 게으른 개발자는 반복, 중복해서 코드를 작성하지 않습니다. 프로그램 개발 초기에 약간의 시간을 투자하면 버그 수정할 때 시간 절약을 할 수 있다. 특히 프로그램  처음 접하거나 초보자는 처음부터 연습을 하면 습관이 되고 자신의 스타일을 만들 수 있습니다. 나중에는 고치기는 힘들고 짜증이 납니다. 습관은 바뀌지 않는다.

능력 있는 개발자는 사람이 이해하는 코드를 만드는 사람입니다.