《重构-改善既有代码的设计》笔记的笔记

文章强调了重构在软件开发中的重要性,提倡先编写可调整的程序并进行优化。重构应专注于单一类的修改,确保函数与数据的一致性。提倡先写测试,使用private修饰重构后的函数,以及利用条件反转和空对象来提升代码清晰度。继承用于避免代码重复,而面对烂代码,可以逐步重构,不必一次性完成。性能问题不是重构首要考虑的因素,但必要时可以回退修改。

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

  1. 事不过三,三则重构。
  2. 首先写出可调的程序,然后调整它以求获得足够速度。
  3. 条件和循环也是提炼信号。
  4. 针对外界变化的所有相应修改,应该只发生在单一类中,这个类的所有内容随外界变化。
  5. 一个函数使用几个类的功能,它应该被放在最多被此函数使用的数据一起。
  6. 对于出现在不同类/方法内的一些绑在一起的数据,应该给它们设置对象。
  7. 两个帽子原则:不要边写代码边重构,带上写代码的帽子,觉得需要重构了,再带上重构的帽子去做,如此反复。
  8. 先编写测试代码可以将关注点放在接口而非实现。
  9. 重构出来的函数优先使用private修饰,日后可以慢慢放开。
  10. 重构时可能会有性能问题,但这不是主要问题,如果没有重构,好的优化方案就可能与你失之交臂。性能实在太糟糕,临时变量放回去也很容易。
  11. 临时变量如果被赋值多次,尽量使它们只使用一次。
  12. 先写测试,再写类。
  13. 条件反转有时候可以帮助写清晰的代码。
  14. 使用空对象可以方便的处理很多东西,它一定是常量。非常适合使用Singleton模式。
  15. 一个好习惯:明确地将“修改对象状态”的函数(修改函数)和“查询对象状态”的函数(查询函数)分开设计。
  16. 继承是避免重复行为的一个强大工具。
  17. 对于辣鸡代码,不必一开始就完成整个系统的重构,只需要满足需求就行了,反正之后还可以回来重构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值