【tip1】全局变量读写应尽量封装

2023-11-19  本文已影响0人  papi_k的小茅屋

基本原则:
1.全局变量的读写应集中封装。
2.避免使用全局变量作为模块接口。

例:

// 不太好的写法
void *g_KK_HeiHei = Null;
void KK_InitHeiHei(void)
{
    if (g_KK_HeiHei == Null) {
        // 初始化
        g_KK_HeiHei = malloc(size); // 具体略
        if (g_KK_HeiHei == Null) {
            printf("malloc error\n");
            return;
        }
    }
    return;
}

void AA(void){
    KK_InitHeiHei(); // 先初始化
    void *heihei = g_KK_HeiHei; // 然后直接获取全局变量值
    return;
}
// 较好的写法
void *g_KK_HeiHei = Null;
void *KK_InitHeiHei(void)
{
    if (g_KK_HeiHei == Null) {
        // 初始化
        g_KK_HeiHei = malloc(size); // 具体略
        if (g_KK_HeiHei == Null) {
            printf("malloc error\n");
            return NULL;
        }
    }
    return g_KK_HeiHei;
}

void AA(void){
    void *heihei = KK_InitHeiHei(); // 直接通过接口获取,较好
    return;
}
上一篇 下一篇

猜你喜欢

热点阅读