何谓重构
- 重构,顾名思义是重新构造代码,即在不影响代码外在行为的情况下对代码做出修改,以改进程序的内部结构。
为何重构
- 重构改善软件的设计
- 重构使软件更容易理解
- 重构帮助找到bug
- 重构提高变成速度
何时重构
在编程的每小时内,都可以做重构
重构的类型可以分为:
- 预备性重构:通过微调代码结构,让添加新功能更容易,
- 帮助理解的重构:使代码更容易理解
- 捡垃圾式重构:每次一小步重构,积少成多
- 有计划地重构:需要专门抽出时间做重构工作
- 长期重构:让团队达成共识,未来一段时间里逐步重构
- 复审代码时重构
何时不该重构
当重构的成本大于重写时,放弃重构
当代码暂且不需要理解其工作原理时,重构并不会产生价值
重构的挑战
- 延缓新功能开发
- 分支管理:常常会出现版本落后太多以致于代码合并出现巨大困难
- 测试:需要配合紧密的测试检验重构是否影响程序运行
- 遗留代码:遗留代码会增强阅读和重构的工作量
重构与软件开发过程
自测试代码、持续集成、重构必须是具有较强的协同效应,重构才能是有效的重构
重构与性能
软件的性能通常只与代码的一小部分相关,改变其他的部分往往对总能性能贡献甚微。
因此在大多数情况下可以忽略性能问题,如果产生性能损耗,先重构,再做性能优化,因为你在代码设计合理,阅读效率高的情况下做性能优化,可以使用更高效的调优方案,最后会得到既整洁又高效的代码。