Qter 发表于 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的返回值必须有意义,如果函数有特殊情况可以不符合上面的规则,但是必须在函数声明的注释清楚返回值-----该条规范列入检视规范和编码要求


页: [1]
查看完整版本: 工作经验