zoukankan      html  css  js  c++  java
  • 我的C++代码检查列表 荣

    检查列表:
    1)外部输入指针是否检查NULL
    2)是否存在::memcpy(&results, buf,  sizeof(buf));语句
    3)是否判断指针为NULL后,又调用了指针的成员?
    4)封包解包的是否,设置的缓存是否足够存放所有的消息记录。
    5)是否存在一写多读问题,如果存在,是否考虑了多线程同步问题。
    6)new出的指针,是否delete掉。是否注意了delete与delete[]
    7)如果有假设依赖,是否在注视中注明,建议用ASSERT表示。
    8)是否在该使用==的时候使用了=?是否在该使用=的时候,使用了==?
    9)整数相除的是否,是否注意了分子可能为0的情况?是否注意了结果可能为0的情况?启动定时器的时候,是否注意了周期为0的情况?
    10)有没有对指针用sizeof而非strlen取值?
    11)请检查if语句中的==语句
    12) 有没有对需要初始化的全局变量进行初始化?例如指针等
    13)memcpy时,是否对拷贝目标进行了初始化?
    14)是否在deleete后又调用了指针成员。delete后需要设置指针为NULL,因为delete后,并不清空指针指向区域的内存。
    15)在遍历CMap的时候,是否最后需要RemvoceAll?有没有忘记RemoveAll?特别是在delete元素的时候。
    16)调用CString的GetBuffer后,是否调用Realse?否则会造成内存泄漏。
    17)在向数据库中添加数据的时候,是否考虑了“'”字符?

    18)被继承的类的析构函数是否设置为虚函数,如果未设置为虚函数,则子类的析构函数就有可能执行不到。

    编程风格检查:
    1)是否存在魔术数字1,2, 3等,是否可以替换为枚举?
    2)应用枚举时,是否带有枚举名称,类名称等标识性信息?例如:
    sender.nType = Enum_Camera;

    sender.nType = EQMType::Enum_Camera;

  • 相关阅读:
    makefile
    xcode
    centos
    debug
    服务器开发
    socket
    xcode
    调用cpp库更基本
    nodejs cpp动态库
    html5图片裁剪法--
  • 原文地址:https://www.cnblogs.com/admin11/p/1527145.html
Copyright © 2011-2022 走看看