2 重构的原则

本文探讨了在软件开发中如何在添加新功能和重构之间找到平衡。开发者应避免在添加功能时修改旧代码,而是通过添加测试来确保进度。重构阶段专注于代码结构的改进,但不添加新测试,除非必要。尽管重构可能导致短期内性能下降,但长期来看,它使优化变得更加容易。对于大多数系统,优先考虑可调优的代码结构而非过度追求性能。文章还提到了三种编写快速软件的方法,强调在满足性能需求的同时保持代码清晰和可维护性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.2两顶帽子

  • 用重构技术开发软件时,时间分配给两种行为
    • 添加新功能和重构
  • 添加新功能时,不应修改既有代码,只添新功能
    • 通过添加测试并让测试正常运行
    • 可衡量自己工作进度
  • 重构时不添加功能,只管调整代码结构
    • 此时不应添加任何测试(除非发现有先前遗漏的)
    • 只绝对必要(用以处理接口变化)时才修改测试

  • 软件开发过程中,发现自己经常变帽子
  • 首先我尝试添新功能
  • 然后意识到:如果把程序结构改下,功能的添加会易得多
  • 于是我换一顶帽子,做一会儿重构
  • 程序结构调整好后,我又换上原先帽,继续添新功能
  • 新功能正常后,又发现自己的编码造成程序难理解,又换上重构
  • 无论何时我都清楚自己戴的是哪一顶帽
    • 且明白不同帽子对编程状态
    • 提出的不同要求

2.8重构与性能

  • 重构对程序的性能将造成怎样的影响?
  • 为了让软件易于理解,我常会做出一些使程序运行变慢的修改。
  • 这是一个重要的问题。
  • 不赞成为了提高设计的纯洁性而忽视性能,把希望寄托于更快的硬件身上也绝非正道。
  • 虽然重构可能使软件运行更慢,但它也使软件的性能优化更容易。
  • 除了对性能有严格要求的实时系统,其他任何情况下“编写快速软件”的秘密就是:先写出可调优的软件,然后调优它以求获得足
    够的速度

  • 3种编写快速软件的方法
  • 最严格的是时间预算法,只用于性能要求极高的实时系统
  • 用这种方法,分解你的设计时就要做好预算,给每个组件预先分配一定资源,包括时间和空间占用
  • 每个组件绝对不能超出自己的预算,
    • 就算拥有组件之间调度预配时间的机制也不行
  • 这种方法高度重视性能,对心律调节器一类的系统必需的,
    • 因为在这样的系统中迟来的数据就是错误的数据
  • 但对其他系统(我经常开发的企业信息系统),追求高性能就有过分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fgh431

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值