C++代码检查

重点检查服务器
1.指针判空
2.for while i-- i++ 方向
3.递归调用
4.new delete
5.switch case break
6.返回值类型 和return 不匹配
7.表回调,属性会掉加间隔时间
8.使用索引先判断索引有效
9.struct 基础类型初始化
10.char* 检查






空指针、
数组越界、
死循环、
递归、
无返回值、
返回值不匹配、
内存申请


对代码的审核
(1).一定不要相信客户端上发数据, 必须验证一遍,前提条件包括位置是否合法,前提条件是否满足。
(2).新加心跳和消息需要详审核,心跳至少1s,
(3).服务器for循环和while也要详审核, 内部不允许出现大消耗的调用,及死循环。
(4).阅读性差或条件混杂的代码需要重写.
    (5).返回类型为const char*不允许返回NULL或0, 为空时必须为 “”,否则重写
    (6).下标必须有保护,没保护重写
    (7).尽量避免手动内存分配,如果必须要用,必须调用引擎接口CORE_NEW CORE_DELETE,需要详审。
  (9) 不允许存取玩家性名来实现功能,全部要用UID,否则重写
  (10) 不允许存在瞬时BUFF,2s内, 快速添加又迅速删除BUFF的消耗比较大。有可能导致基础属性刷新,等一系列处理影响。
 (11)0值或空值属性的检查按要求审核
 (12)无敌BUFF,在功能中如果用到此类BUFF,需要详审移出的地方,避免卡BUG后,影响其他玩法。
 (13)指针空值保护审核,没保护打回。


1.死循环上限保护 for while保护, 
2. 触发器保护(技能,BUFF,场景事件,NPC事情)
3.varlist内存上限保护  
4.对像泄漏保护
5.野指针保护  搜*  统一保护
6.迭代器保护 it 搜 begin()   find(  统一保护
7.除0统一保护 搜/
8.下标越界保护 []
9.memcpy memmove统一保护
发布了98 篇原创文章 · 获赞 65 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/perfect2011/article/details/49176795
今日推荐