跳到主要内容

重构的艺术:改进现有代码

作为一个开发者,你将花费比编写新代码更多的时间来阅读和修改现有代码。重构是改进现有代码设计而不改变其功能的艺术。这就像清理和组织你的房子;它不改变房子 是什么,但它使它成为一个更好的生活场所。

何时重构(与重写对比)

  • 重构 当代码通常工作但难以理解、难以改变或有"代码异味"时。
  • 重写 仅当代码是完全的混乱、不工作,并且你有非常清晰的想法如何更好地构建它时。从头重写通常比看起来更有风险。

与AI一起重构模式

AI是重构的一个例外工具。它可以理解复杂代码并建议改进。以下是一些你可以要求AI帮助的常见重构模式:

  • 提取方法: 将一个长的、复杂的函数分解为较小的、命名良好的函数。
  • 重命名变量/函数: 通过给东西更好的名称来改进代码的清晰度。
  • 简化条件逻辑: 复杂的 if/else 链通常可以简化。

"这个函数太长了,难以阅读。你能帮我通过将其部分提取为较小的函数来重构它吗?"

衡量代码质量

你如何知道你的代码是否"好"?有工具可以帮助你衡量它:

  • Linters(如JavaScript的ESLint): 这些工具自动检查你的代码是否有风格错误和常见的程序错误。
  • 复杂性分析: 工具可以衡量你的函数的"圈复杂度"。高复杂度分数意味着函数有很多分支,可能难以测试和理解。

增量改进

不要尝试一次重构整个应用。关键是进行小的、增量的改进。每次你接触一段代码,都要比你找到时更整洁地离开它。这被称为"童子军规则"。

轮到你了:重构你的项目

回头看看你在本课程中到目前为止构建的所有项目:

  1. 原始vanilla JavaScript任务管理器。
  2. React前端版本。
  3. Node.js后端版本。

选择一个并花一些时间重构它。你的目标不是添加新功能,而是改进现有代码的质量。

  • 对你的代码运行linter并修复所有警告。
  • 在你的项目中找到最复杂的函数,要求AI帮你简化它。
  • 寻找任何重复的代码,看看你是否可以将其提取为可重用函数。

这种实践是将初学者与专业人士分开的。它展示了对质量和可维护性的承诺。