본문 바로가기

개발방법

읽기 좋은 코드를 작성하자!

먼저 읽기 좋은 코드가 무엇일까를 생각해보자!

내가 생각하는 읽기 좋은 코드는 가독성이 높아서 코드의 변경, 추가, 테스트가 쉽다라는 것이다.

즉. '복잡한 코드를 작게 나누고, 읽기 좋은 이름으로 작성하는 것' 이다.

 

1. 의미가 명확한 변수 이름 붙이기

변수의 이름은 사용 목적에 맞게 가능한 구체적으로 정해라. 다만 예외적으로 인덱스 전용

지역변수는 i,j,k등 짧게 이름을 사용하는 것이 좋다. 작은 함수 내부의 지역변수라면 단순한 이름으로도 의도를 전달할 수 있을 것이다. 하지만 클래스의 멤버변수 처럼 범위가 넓고, 수명이 긴 변수는 신중하게 이름을 정해야 한다.

 

2. 의미가 상수값에는 이름 붙이기

일부 상수값은 의미(0:걷기, 1:점프)를 나타내는 경우가 있다. 이런 상수값은 코드 전체의 흐름을 이해하지 못하면 제대로 알 수 없다. 이런 상수값은 열거형(enum) 또는 const 변수를 이용해서 이름을 붙이면 코드의 의미가 명확해진다.

 

3. 주석을 자주 사용 하자

개발은 프로그래머 혼자서 개발할 때도 있지만 보통은 여럿이서 개발을 하는 경우가 많다.

그럼 내가 만든 코드를 다른 사람이 볼 때 주석이 있으면 더욱 빠르게 이해 할 수 있다. 또한 본인이 작성한 코드를 다시 사용하게 될 수 있다. 그랬을 때 사용한지 오래된 코드라면 까먹었을 가능성이 높다. 그래서 주석 활용을 잘하자!!

 

4. 설명 전용 변수 사용

예를 들어 이러한 코드가 있다고 해보자

if(speed >= 10 && state == STATE_DAMAGE && ....)

이렇게 조건문에 다양한 조건식이 들어갔을 때 1,2개 정도면 코드를 이해하기 어렵지 않다.

그러나 이 조건식이 여러개 일 때는 가독성이 좋지 않을 것이다. 

그래서 이러한 조건식을 미리 변수로 만들 수 있다.

const bool is_okDamage = state == STATE_DAMAGE;

const bool is_dash = speed >= 10;

 

if(is_dash && is_okDamage)

이런식으로 만들면 훨씬 가독성이 좋을 것 이다.

 

5. 조건식 함수화

조건식을 설명 전용 변수가 아닌 함수화 시킬 수 있다. 함수를 잘게 쪼개서 재사용성을 높일 수 있다.

객체지향언어라는 걸 잘 생각해 볼 필요가 있다.

 

bool IsDamage(STATE state){

      return state == STATE_DAMAGE;

}

 

private STATE currentState;

void CheckDamage(){

      if(IsDamage(currentState)){

             ......

      }

}

 

이런식으로 함수화로 만들게 되면 여러 곳에서 재사용하면서 좋은 코드를 작성할 수 있을 것이다.

728x90

'개발방법' 카테고리의 다른 글

멀티 게임 개발일지 3 - Unity  (2) 2024.07.14
멀티 게임 개발일지 2- Unity  (0) 2024.07.13
멀티 게임 개발일지 1 - Unity  (2) 2024.07.13
응집도와 결합도  (0) 2024.04.14