可靠性/可维护性/效率

来源:互联网 发布:send to kindle mac 编辑:程序博客网 时间:2024/06/05 11:46

可靠性(强制类型转换)

  • 当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界。
  • 当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,需要考虑字节序。
  • 在把某些变量或数组或结构强制转换成另一结构体时,需要考虑结构体的字节对齐问题。
  • 与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎。

可维护性

  • 坏代码的特征
    • 重复代码
    • 函数行数超过50行,一个函数包含的功能太多
    • 函数入参不超过5个
    • 模块之间过度耦合
    • 逻辑表达式过于复杂
    • 函数调用层次过深
  • 如何评价可维护性
    • 可理解性
    • 可修改性
    • 可测试性
  • 圈复杂度的概念
  • 如何提高可维护性?
    • 提炼函数
    • 分解条件式
    • 针对复杂条件式引入临时性解释变量
    • 合并条件式
    • 合并重复的条件片断
    • 以卫语句替换嵌套条件
    • 重新命名函数
    • 剖析临时变量
    • 宏代替魔鬼数字
    • 查询和修改分离

高效率

  • 从哪些地方优化?
    1. 循环体内工作量最小化
    2. 对重复的运算,应考虑将结果缓存为变量使用
    3. 避免不必要的内存拷贝
    4. 较大的结构体类型的入口参数,应使用指针传递
    5. 把最有可能性的判断放在最前面
    6. 在需要的时候才申请与释放资源
    7. 日志必须按合适级别分级打印
    8. 文件操作使用缓冲
    9. 字节对齐
  • 如何优化?
    1. 以空间换时间
    2. 使用模版赋值
    3. 减少压栈成本,宏代替函数,
    4. 改变判断顺序
    5. 应用层软件遍历查表
0 0
原创粉丝点击