一次代码优化过程

需要完善:

1. 宏定义修改,比如改成 const int INTERVAL_MS = 1000

2. 区分哪些是struct数据哪些是要进行数据封装隐藏的

3. 邻区索引改成共享指针;注意拷贝构造和拷贝赋值的处理

4. 性能考虑,不必要的劣化

5. 哪些需要用到命名空间

6. 消息处理能否进一步抽象

7. 接口消息检查处理及异常保护

8. 枚举类型定义

9. 初始化列表代替构造函数中的赋值

10. 统计信息及运维时参数统计

11. 如何写注释并形成习惯

后续考虑:

1. 消息通讯中,如何排除int等因机器环境不同而带来的字节不同的影响

2. IP分片处理及优化,测试。对比应用层实现和协议栈实现。

3. UT测试如何设计?

a.内部消息桩以检查内部消息流程是否按照预设进行

b.先设定好测试场景,然后模拟数据

c.该操作流程产生的数据是否符合预期

d.代码变更,UT失败,检查变更影响。UT就是做这个防护的。

e.完成自测验证:

    KW检查分析

异常验证:gdb  XX core

backtrace:

CXXFLAGS+=-rdynamic

加头文件:backtrace.h

main 头文件#include backtrace.h

开始处加:CatchSigsegv();

4. 平台库文件的头文件学习

https://bitbucket.org/godsme/mockcpp/src mockcpp的代码

5. 统一命名,DDD,在设计阶段对领域对象统一命名

检查及优化:

1. 字节序转换时加保护

#if BIG_ENDIAN

       #define BSWAP32(x) __bswap_32 (x)

       #define BSWAP16(x) __bswap_16 (x)

#else

       #define BSWAP32(x) (x)

       #define BSWAP16(x) (x)

#endif

2. mock重载函数的mock

函数前加函数调用形式,如int (*)(float)

https://bitbucket.org/godsme/mockcpp/src/06ad37ddc45cbbc5d5e42db925f72ebf9faaa0d4/tests/ut/TestOverloadMethodMocker.h?at=default&fileviewer=file-view-default

猜你喜欢

转载自www.cnblogs.com/sunnypoem/p/9649963.html