为了账号安全,请及时绑定邮箱和手机立即绑定

网站重构(重写)应该注意哪些?

/ 猿问

网站重构(重写)应该注意哪些?

收到一只叮咚 2019-03-29 22:09:10
为了提高网站质量、用户体验、改进现有的弊端,要对网站重构,并且我们想把现有网站转移到Phalcon框架,很多东西还不是很清晰。想了解重构时需要注意哪些?
比如:
如何平滑的迁移数据库
如何不影响用户使用
如何提高重构效率
如何保障出问题了能尽量挽回
等等...
望有经验者指点!
查看完整描述

2 回答

?
慕后森
谢邀。
因为个人经验不是很丰富,且并未参与过整个网站的重构项目,在平时的工作时只是做过部分功能上的重构,因此把自己的一些想法和经验说出来,希望能对小北有所帮助。
1.充分的测试
测试应该随着重构的步骤同步进行,不要等到重构快要结束然后run一大堆测试,因为这样很难保证测试充分,最好的办法是随着重构的步骤,一步步进行测试,这样可以将出错率尽可能地降低,看上去花了更多时间,实则是提高了效率。
2.保持行为单纯
重构就是重新构建现有代码,所以不要把新的功能混合到重构的过程中来,可能只是顺手一笔,但是我建议把重构的目的单纯化,即使发现那些功能上可以改进的,也可以记录下来,在重构完成后新建一个分支去做。
3.明确重构目的
重构都是带有目的性的,例如提高页面性能,缩减代码行数,缩减庞大的类或函数,提高代码的可读性等等。因此在重构前先把目的理清,在重构结束比较是否达到了要求,例如页面的性能提高了多少,代码行数缩减了多少。不要为了重构而重构,这样没有目的性的活动实际作用不大。
4.交流重构思路
这点得感谢我的老大-Lucas,不仅每次都会review我重构后提交的代码,而且在我重构之前都会要求我把大致的思路讲一下,并给出我实质性的建议。我觉得这是个很好的团队习惯,因为重构不是个人行为,而是影响整个团队的操作,所以在进行较大重构前,应该跟团队其他成员深入交流,不要等到重构结束再去介绍,这样得花费更多的时间去解释,而且很可能效果不佳。
                            
查看完整回答
反对 回复 2019-03-29
?
HUH函数
我觉得你列出来的所有问题,除了效率之外,解决方案都一样
灰度部署
至于怎么灰度部署,不外乎接入机nginx配置reload,如果业务有状态,可能还需要有写cookie然后让nginx根据cookie决定走不同的后端
嗯,关于数据库,因为不知道你的网站的业务模型,需要具体情况具体分析。最好的方案就是保持数据结构不变,先换技术框架。这样的好处是方便灰度,降低风险。等技术框架迁移干净了,再来考虑改数据结构
                            
查看完整回答
反对 回复 2019-03-29

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信