복잡하게 커져 버린 코드의 문제를 단순화하고, 작게 나누는 기술이
코드의 가독성, 보수성 향상을 위한 핵심이다.
enum class eState
{
Work, // 걷기 상태
Jump, // 점프 상태
Attack // 공격 상태
};
enum class eDirection
{
North,
South
}
const bool isJump = y > 0.0f;
const bool isDamage = ( state == STATE_DAMAGE );
const bool isDash = (speed >= 10.0f) && (!isJump) && (!isDamage);
if ( isDash )
{
...
}
const int dressFlag = dressItem->GetDressFlag();
const bool isNoHair = dressFlag & SA_NOHAIR;
const bool isNoBody = dressFlag & SA_NOBODY;
const bool isNoFace = dressFlag & SA_NOFACE;
const bool isNoHat = dressFlag & SA_NOHAT;
if (isNoHair) { ApplyDress(character, HAIR); }
if (isNoHair) { ApplyDress(character, BODY); }
if (isNoHair) { ApplyDress(character, FACE); }
if (isNoHair) { ApplyDress(character, HAT); }