firemail

标题: 工作经验 [打印本页]

作者: Qter    时间: 2020-2-10 00:09
标题: 工作经验
代码检视
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)






欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3