美文网首页
【tip1】全局变量读写应尽量封装

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

作者: papi_k的小茅屋 | 来源:发表于2023-11-19 19:02 被阅读0次

基本原则:
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;
}

相关文章

  • javascript实战技能提要

    封装模式 通常,我们会尽量减少使用全局变量,除非必要。由于js变量作用范围是函数作用域而非块作用域。因此我们可以通...

  • block分析(上)

    读写锁的补充 实现读写锁的两种方案 对底层pthread进行封装 GCD封装 读写锁要实现的功能 多读单写,多读就...

  • day13 学生管理系统

    文件读写封装 主页面 管理页面

  • C/C++语言嵌入式编码规范

    编码规范 尽量少用全局变量 内部函数尽量使用“static”进行声明 可使用“#pragma once”代替各种“...

  • python函数的简单封装

    函数的简单封装 实现对文件读写操作的封装 file_function.py(实现函数的封装) (进行函数调用)

  • JavaScript 尽量少用全局变量

    尽量少用全局变量 JavaScript 使用函数管理作用域。变量在函数内声明,只在函数内有效,不能在外部使用。全局...

  • 多任务-线程

    必要时可封装 多线程之间全局变量共享,并传参数

  • JavaScript设计模式读书笔记----基本技巧

    编写可维护的代码 尽量减少全局变量 没有声明或没有对链式赋值的所有变量进行声明时也生成全局变量隐含全局变量可以通过...

  • C++面向对象三特性

    面向对象三要素:封装,继承+多态. 封装是为了"去除全局变量". 继承是为了"去除代码重复". 多态是为了能让"继...

  • JavaScript 模式(一)

    JavaScript 基本技巧 1.尽量少用全局变量 (1)全局变量的说明 变量的作用域是以函数进行管理,函数以外...

网友评论

      本文标题:【tip1】全局变量读写应尽量封装

      本文链接:https://www.haomeiwen.com/subject/lcnywdtx.html