我有一个非常大的网站,由于可维护性问题和性能问题,我需要重构前端:
有什么棘手的:
- 许多过于复杂的脚本
- 具有巨大文件大小的过度复杂的 CSS
- 没有进行硒测试
- 没有 js 测试到位
- 后端开发人员担心任何破坏
- 该网站已上线一段时间,客户很满意
可用工具:
- 用于测试版本的多台服务器
- Continuos 集成设置
- 版本控制
我有一个非常大的网站,由于可维护性问题和性能问题,我需要重构前端:
有什么棘手的:
可用工具:
一些想法(在后端进行了更多的重构之后):
好吧,我会开始将项目复制到一个新的工作区并为您的版本控制创建一个位置。这样您的后端开发人员就不再需要害怕了。接下来我会查看 css 文件,因为您可以更改这些文件并立即看到差异。当你喜欢你拥有的 css 时,你可以继续到脚本部分。
在这里你肯定需要测试,因为否则肯定会有一些不想要的错误或更改。我个人会将脚本迁移到非常(!)的小垃圾中,这样您就可以非常快速地找到错误并为您更改的每一件小事运行测试。这将导致我的经验中最持久的结果。
您需要考虑的另一件事是部署。我的意思是总是有一些要求或依赖关系(我不知道你的问题是否就是这种情况,但你应该真正检查一下并与你的后端人员合作,这样他们就可以给你一些问题可能存在的提示)。
好吧,在我看来,您面临的主要问题是缺少现有的 JavaScript/Selenium 测试。一旦你有了这些,你就可以开始真正的重构工作,采取一些小步骤——相信错误会被纠正。
在没有先进行测试的情况下,永远不要重构。
这里有一些想法:
在你的脑海里想出一个数字。对你来说是两天的工作吗?2周?它对上述所有方面有什么好处?现在考虑一下您雇用的新开发人员可能需要多长时间,他们现在必须经历与您相同的过程并达到您的水平。
一旦你觉得你知道所有可能的用户旅程和你挑出的特定组件的变化,请考虑执行以下操作需要多长时间: