Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1341|回复: 0
打印 上一主题 下一主题

工作经验

[复制链接]

1272

主题

2067

帖子

7958

积分

认证用户组

Rank: 5Rank: 5

积分
7958
跳转到指定楼层
楼主
发表于 2020-2-10 00:09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码检视
1. 上层尽量使用COperatorFileSerial的流操作符(<< >>)替代传统的变参(vsprintf("%%", args))
变参系列函数容易引发异常,只要fromat参数出连续两个以上的%%就可能挂掉,还有各种原因崩溃


2. 函数参数如果是入口参数,尽量使用const
输入的参数不能被修改

3. 头文件保护宏,统一命名规则:ILAP_+模块名_+文件名_H_

4. 提供了const接口的类,部分的成员变量需要声明为mutable方便使用

5. MiddleFileManager里边有一个vsprintf输出失败时候没有log输出也没有屏幕输出提示

6. 时间没有做合法性检查,不能直接写为0-0-0-0,会阻塞数据库导入,可以生成1970-01-01

7. 类似for 等需要循环比较的临时变量必须使用unsigned int,否则会死循环
int i=-1;
自动类型转化为 unsigned int  对上面的负数会转换成一个很大的正数,造成死循环


8. MiddleFileManager中有11 15这样的魔法数字,需要定义成宏

9. 函数的参数需要在入口处检测,特别是指针
assert(pFileManager != NULL && sFileName != NULL); //Debgug下有效
这里具体应该怎么写?


10. 单例模式初始化需要加锁

11.规范增加一条,如果函数是int返回类型,那么出错返回负值,成功返回0,如果是send之类的返回一个有意义的长度可以返回一个大于0的值,这个大于0的返回值必须有意义,如果函数有特殊情况可以不符合上面的规则,但是必须在函数声明的注释清楚返回值-----该条规范列入检视规范和编码要求

代码检视记录.xlsx (10.69 KB, 下载次数: 0)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-23 10:03 , Processed in 0.063842 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表