您如何重构大型网站的前端?

Dr.*_*ein 2 javascript css jquery refactoring frontend

我有一个非常大的网站,由于可维护性问题和性能问题,我需要对其前端进行重构:

有什么棘手的

  • 许多过于复杂的脚本
  • 过于复杂的 CSS 文件大小
  • 没有进行硒测试
  • 没有 js 测试到位
  • 后端开发人员担心任何破坏
  • 该网站已上线一段时间,客户很高兴

可用工具

  • 用于测试版本的多台服务器
  • 连续集成设置
  • 版本控制

man*_*ana 5

一些想法(尽管在后端进行了更多的重构,但在进行了更大的重构之后):

  • 创建一个游戏分支,您可以在其中开始“涂鸦”重构。在那里你可以看到重构的感觉。我经常发现特别大的重构就像开始设计/编程。您必须亲自动手,看看您的重构目标感觉如何。这也有利于更好地估计整体工作量。
  • 因为您的客户很高兴,并且更多的是对未来的投资,所以采用增量方法。不要进行大爆炸式的重构。尝试划分几个重构区域(例如 javascript 与 CSS)以及页面。
  • 从更简单的重构步骤开始。它们有助于让你“适应”更难的人。
  • scm 是您最大的朋友之一。在重构时快速恢复并感到安全至关重要。即使在您的重构分支上进行更大的工作,您也可以创建更多的“小分支”以继续进行更大的重构步骤。
  • 回归测试至关重要。首先进行测试。100% 的测试自动化几乎是不可能的,所以让你的 QA/测试团队成员之一在每个更大的重构步骤之后帮助你进行重构和回归测试。经过 3 个月的重构后,“它不再起作用了”只会让你崩溃。
  • 对于更困难的重构(难以测试)和不稳定的代码结构,请进行“结对编程”。
  • 害怕后端开发人员不相信大重构是正确的,认真对待并寻求帮助(尤其是对于回归测试要求)。