重构是什么?

  • 定义:重构是指在不改变代码外在行为的前提下,修改代码结构,以改善其内部设计。
  • 目标:优化代码可读性、可维护性与可扩展性,减少未来开发中出错的可能性。
  • 本质:重构并非是在编码之前的设计行为,而是在代码完成后对其设计的持续优化。

重构的价值与意义

  • 代码总会“腐烂”:
    • 原始设计会随着不断的代码变更而被侵蚀,程序结构逐渐失控。
    • 编码从“严谨的工程”退化为“胡砍乱劈的艺术”。
  • 重构是解药:
    • 即便面对糟糕的架构和混乱的代码,通过重构,也能逐步恢复结构的清晰与优雅。
    • 小步修改(例如函数拆分、字段转移、继承体系调整),也能积少成多,显著提升设计质量。

重构的哲学:设计是不断浮现的过程

  • 旧观点:
    • “先设计再编码”是传统软件开发的主流理念。
    • 设计被视为开发前的前置条件,而非可持续的过程。
  • 新观点:
    • 设计是在开发过程中逐步形成与演进的。
    • 通过“编码 → 重构 → 设计优化”的迭代循环,系统结构得以持续改进。
    • 这是一种“构筑—设计”的互动过程,反映了敏捷开发等现代软件工程思想。

核心观点总结

观点
解读
重构不改变行为,只优化结构
保证功能稳定的前提下改善代码质量
重构是系统性的整理方法
减少因修改而引入的潜在错误
小步重构,积沙成塔
每次微小改进,最终带来整体优化
设计不是一蹴而就,而是渐进演化
支持持续迭代、适应变化的现代开发模式

启示与思考

  • 重构是一种持续性的技能,是软件开发者不可或缺的基本功。
  • 与“写完就完”相对立,重构强调代码的生命周期管理。
  • 拥抱变化、拥抱演化,才是高质量软件的根基。
开发记录:Android端获取Web View截图的方法汇总Android应用架构之UI层