2. 설계 첫걸음

내용


의도를 분명히 전달할 수 있는 이름 설계하기

  • 정확히 어떤 의미를 가지고 있는 지 변수(혹은 메서드) 에 드러내자

목적별로 변수를 따로 만들어 사용하기

  • 한번 할당된 변수는 재할당하지 말자

단순 나열이 아니라, 의미 있는 것을 모아 메서드로 만들기

// as is
int totalPlayerAttackPower = playerArmPower + pla yerWeaponPower;

// to be
// 플레이어의 공격력 합계 계산
int sumUpPlayerAttackPower(int playerArmPower, int playerWeaponPower) {
	return playerArmPower + playerWeaponPower
}
  • 단순 나열 x -> 의미를 나타낼 수 있는 메서드로 개선하자

  • 이렇게 하면 일련의 흐름이 더 쉽게 읽힌다.

관련된 데이터와 로직을 클래스로 모으기

  • 클래스?

    • 데이터를 인스턴스 변수로 갖고, 인스턴스 변수를 조작하는 메서드를 함께 모아 놓은 것

    • 서로 밀접한 데이터와 로직을 한 곳에 모아두면, 이곳저곳 찾아 다니지 않아도 괜찮음

정리


  • 의도를 가지고 설계하고, 그 의도가 다른 사람들에게 명확하게 드러날 수 있도록 설계하자

  • 왜?

    • 다른 사람이 내가 작성한 코드를 잘 이해할 수 있게 되고,

    • 결과적으로 유지 보수, 변경이 쉬워지니까.

참고


  • https://product.kyobobook.co.kr/detail/S000202521361

Last updated

Was this helpful?