惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
C
Check Point Blog
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 司徒正美
D
Docker

博客园 - 荣-

学习实践:使用模式,原则实现一个C++自动化测试程序 学习实践:使用模式,原则实现一个C++数据库访问类 C++字符转换等常用方法 DLL内存管理模板类 字符串处理代码(国际化转换C++版) 我的C++数据库访问库--临界区处理类 我的C++数据库访问库 批处理文件的学习 C++中,以类成员函数指针作为参数对std::map中的元素进行迭代处理 取得MySQL数据库表,列信息的SQL语句 我的我的C#数据库操作类(与大家交流) ACE项目的重构整理 安装SQL Server 2000和sp补丁时,安装程序提示"以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机"。 我的计算机安装步骤 创建oracle用户 我的重构步骤 PowerDesigner高级应用 文档的阅读 如何设计类
我的C++代码检查列表
荣- · 2009-07-20 · via 博客园 - 荣-

检查列表:
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;