• 良好的编程习惯(一)


    1 全局变量少。或者使用局部变量,或者阶级。或者功能。

    1)全局变量多了,不知道全局变量的含义,以及不知道有多少地方在使用。

     

    2)数据未知

    HANDLE           g_Handle1;

    HANDLE           g_ArrHandle[] = { g_Handle1};

    全局变量初始化的时候,g_Handle1,还没有值。

    假设仅仅是局部使用,就用局部变量。

     

    3)将局部变量,考虑用全局变量取代。有一个原因可能是操心栈溢出,而导致程序异常,假设是这种话,用全局变量取代。仅仅是隐藏了问题。

     

    2 类命名要统一

    1)xx_yyyy_zzzzz

    2)CXxxxYyyyy

    要么是1)。要么是2)。

     

    3 參数做成一个配置文件,其它地方引用

    1)不会出现同步问题。

    2)不会出现多份。节省内存。

     

    4变量和函数的public和private

    1)public给外面调用的。

    看一个类的时候,通过看public和private就能看出来。

     

    5

    for (inti =0 ; i<3;i++)

    {

    }

    1)3 没详细含义,配置变量。

    2)假设是在线程中。做成异步。不会堵塞线程。定义几个状态。依据状态来推断。

     

    3)定义查询和创建接口。

     

     

    6 map的使用

    typedef map<char*, CXxxxObject*>MapXxxxObject;

    这样写,char* 是一个地址。

    要么自己重载 < 方法。

    char* 内容和地址都不同。才唯一。

    pXxxxObject = m_map_xxxx[temp];

    这里想要什么效果。用一个字符串作为key吗?假设是这样达不到你的要求。

     

    假设是int就没这个问题。

     

    7 返回值

    1)return 0; 没有详细含义。

     

    2)int和void

    有值返回用int,没有值返回用void。

     

    8 XxxxYyyy* pXxxxYyyy

    1)与NULL推断

     

    2

    Assert(0)

     

    assert(pXxxxYyyy);

     

    3)自己定义ASSERT,能够让assert在release中也有效。

     

    4)比較

    与NULL推断在release版本号相同须要做逻辑推断。

    assert保护现场,方面查找和定位问题。

     

    8基类的析构函数定义为虚函数

    假设不是虚函数,非常easy内存泄露。

    子类里可能释放不了内存。

     

    9在哪儿new,在哪儿delete

    newdelete要在一个地方出现,这里能够是一个函数。也能够是一个类。

    1)代码可读性强。

    2)easy检查有没有内存泄露。

     

    有的时候。由于new出来的东西须要放在队列中。那就在处理队列的类中new和delete。

     

    10 測试

    在系统联调前,要做好功能測试。单元測试,接口測试。自己写用例,能够借助工具来完毕。

     转载请原创链接:http://blog.csdn.net/wujunokay/article/details/27583147

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    2022.6.10 Vue框架学习 信1905
    Unity加强版或专业版,输入序列号提示,您的序列号无效
    简单又快速的格式化日期时间方法
    webstorm常用配置
    20192423 202120222 《网络与系统攻防技术》实验八实验报告
    嵌入式开发入门名词概念
    USB移动硬盘 显示打印设备和打印机
    TCP连接:SYN ACK RST UTG PSH FIN
    php 跑
    前端——html——html列表
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4805226.html
Copyright © 2020-2023  润新知