《代码大全》读书心得笔记第五部——代码改善

工欲善其事,必先利其器。
本文主要是解释通过代码优化,提升代码性能的操作;也主要是对所学知识的一个整理。

一、软件质量概述

我们在软件的开发过程应该需要对变更控制,有效地管理和控制变更是实现代码高质量的关键一步;我们要提升软件质量,还需要对结果进行量化,只有进行结果的量化才能有效地反馈计划的成功与否;在开发过程中,制作原型也是很重要的一步,原型是指开发出系统中关键功能的实际模型,构建原型能产生更完善的设计,更贴近用户的需求,以及更好的可维护性。软件质量的普遍原理就是改善质量以降低开发成本。

二、开发者测试

软件测试主要包括:单元测试、组件测试、集成测试、回归测试、系统测试。

  • 开发者在编码的过程中推荐的测试方法
  • 对每一项相关的需求进行测试,以确保需求都已经被实现
  • 对每一个相关的设计关注点进行测试,以确保设计已经被实现。
  • 用基础测试来扩充针对需求和设计的详细测试用例
  • 使用一个检查表,其中记录着你在本项目迄今为止所犯的,以及在过去的项目中所犯的错误类型

测试技巧

  • 等价类划分
  • 边界值分析
  • 采用手工检查的测试用例(简单的对数据进行手动计算和期望值做比对)

还有一些就是开发测试中的一些小tips:

  • 错误并不是均匀分布在项目当中,还是符合28远程
  • 应当在开发中通过工具加快自己开发的速度和准确性

三、调试

开发者在开发的同时还应当有相应的技巧对代码进行调试。

下面介绍查找代码缺陷的一些调试小技巧

  • 逐步缩小嫌疑代码范围
  • 对之前出现过缺陷的类和子程序保持警惕
  • 检查最近修改过得代码
  • 增量式集成
  • 同其他人讨论问题
  • 调试的时候一次只做一个改动

 

四、代码调整策略


首先我们需要搞懂的是影响代码的效率的几个低效之源

  • 分页
  • 输入/输出操作
  • 系统调用

因此我们在开发过程,可以从这些角度进行优化。

那么我们应该如何去对性能进行调整,应该遵循以下这种方式,稳健地进行代码的性能提升

  • 做性能调整之前先要保留调整之前的版本,这样子方便回退;
  • 再者每进行一次调整就应该测试一次,观察性能有没有改善,如果没有,那么回退到调整之前的版本。

需要注意的是:性能测量应当要精确,应当用程序分配给程序的CPU时钟计算,而不是日期时钟

 

五、代码调节技术


主要介绍如何进行代码的优化方法。

主要讲提高代码运行速度的方法,同时对如何减小代码的资源占用给出建议

  • 在知道答案之后停止判断
  • 按照出现的频率来调整判断顺序
  • 用查询表替代复杂表达式,如果存在若干个结果,我们可以通过直接将结果写入表中的方法来避免直接对结果的计算,从而减少开销,可以直接查表
  • 使用惰性求职,即在需要该数据在计算,而不是一下子都计算出来
  • 将判断外提,尽量减少在循环语句中的操作
  • 将循环展开,也可以提升性能
  • 设置哨兵值,也就是在得到所需要结果的时候能够及时跳出循环,而不是继续执行
  • 把最忙的循环放在最内层
  • 使用整型数而不是浮点数
  • 使用缓存机制
  • 小心系统函数,因为系统函数的开销是很大的
  • 用低级语言重写代码

 

posted on 2019-02-25 13:01  爱思考的猫  阅读(303)  评论(0编辑  收藏  举报

导航