zoukankan      html  css  js  c++  java
  • 一次代码优化过程

    需要完善:

    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

  • 相关阅读:
    团体程序设计天梯赛PTA L1-006连续因子
    团体程序设计天梯赛PTA L1-002打印沙漏
    spring学习3-配置文件
    markdown基本用法
    java贪食蛇小游戏
    在idea中使用lombook插件
    ajax初体验hello_ajax
    idea,自定义骨架的增加与删除
    idea 2017,2018,2019下载与破解
    idea关联mysql数据库失败,时区错误,数据库驱动配置
  • 原文地址:https://www.cnblogs.com/sunnypoem/p/9649963.html
Copyright © 2011-2022 走看看