文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-01-30 22:09

关注

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

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

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

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

测试技巧

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

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

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

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

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

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

 


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

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

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

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

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

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

 


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

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

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

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯