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的返回值必须有意义,如果函数有特殊情况可以不符合上面的规则,但是必须在函数声明的注释清楚返回值-----该条规范列入检视规范和编码要求
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |