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

推荐订阅源

博客园 - 聂微东
GbyAI
GbyAI
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
B
Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
雷峰网
雷峰网
爱范儿
爱范儿
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
P
Proofpoint News Feed
A
About on SuperTechFans
I
InfoQ
F
Fortinet All Blogs
L
LangChain Blog
T
Tailwind CSS Blog

博客园 - 荣-

学习实践:使用模式,原则实现一个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;