3 맥락
dalmurii edited this page 2026-06-28 15:46:29 +00:00

대부분의 논리는, 정보를 읽고 쓰는 과정이 필수불가결로 들어갑니다.
재사용되는 논리를 유형으로 묶고 이에 사용되는 정보를 취합한 것을 맥락이라 부릅니다.

typedef struct foo* h_foo_t;

struct foo {
        unsigned m_foo;
};

static unsigned foo3(h_foo_t h) {
        return h->m_foo = 3;
}

유지보수를 위하여 맥락의 개별 크기는 최대한 작게 유지하는 것이 좋습니다.
예를 들어 다음과 같습니다:

struct foo {
        unsigned m_id;
        unsigned m_hp;
        unsigned m_mp;
        unsigned m_name[100];

        unsigned m_id2;
        unsigned m_hp2;
        unsigned m_mp2;
        unsigned m_name2[100];
};

struct bar {
        unsigned m_id;
        unsigned m_name[100];
        unsigned m_reserved[10];
};

위쪽 프로그램보다 아래 프로그램이 읽기 편합니다.

struct identification {
        unsigned m_id;
        unsigned m_name[100];
};

struct entity {
        unsigned m_hp;
        unsigned m_mp;
};

struct foo {
        struct identification   m_ident[2];
        struct entity           m_entity[2];
};

struct bar {
        struct identification   m_ident;
        unsigned                m_reserved[10];
};