我要装逼了!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ly4wU5giY/article/details/82977334

自从上个月小甲的成人网站Pornhup被黑了并且换上优秀的log系统之后,后期加上小甲优秀的管理手段,保证公司稳定运转,该公司市值不断升高,股票不断上涨。


       640?      


可是公司的业务越做越大,以前的构架似乎无法满足现在的业务需求,坐在办公室正在考虑是否将自己公司底层代码重构的小甲看到了一条消息。


Dropbox全部代码已经从Python 2升级到Python 3


想着自己公司的底层框架也是用的Python2,Dropbox跟自己公司同为世界500强,它们都大费周折重构上万行代码,管理者小甲一拍桌子,决定了,就是干。于是又再一次召集了该组上千名员工开了一个大会。

       640?      


管理者小甲:最近的新闻大家都听说了吧?我看了下我们公司的代码,居然发现底层框架如此老旧,所以我决定接下来几个月的时间里,大家需要重构底层的代码。


产品经理小A:老甲,什么是重构啊?


       640      


平时对产品经理意见本来就特别大的程序员小B抢着说道:甲总,我觉得不论是产品经理还是程序员,重构是什么,这么基础的东西不应该不知道。既然A经理不知道,我就给大家再讲一讲吧


重构,一般来说继不会修改bug,也不会增加新功能,一般是对原有的代码的结构做比较大的调整,提高代码的可读性,改善产品的性能,提高系统的可扩展性和可维护性,使系统的设计模式和架构更趋于合理。


       640      


产品经理小A:老甲,不过我们现在产品运行得好好的,花几个月时间来重构代码,感觉做的说赔本买卖啊,为什么非要现在重构呢?


管理者小甲:以前Pornhup是个小公司,我们只为一小部分人群服务,现在不一样了,我们的PV巨大,并且新进来的用户都有新的产品需求。


目前Pornhup公司破万亿市值指日可待,如果不及时重构,肯定后面会欠下技术帐,肯定无法满足我们后面的业务需求。不过重构底层代码是个大工程,一定要格外的注意!


程序员小C:老板,我们懂了,那重构我们应该分几步走呢?都得注意些什么啊?


       640      


管理者小甲:小C这个问题问得好,那么大家注意听,重构的时候有哪些需要注意的地方。


第一步:先定个目标

凡事做之前都要设定一个小目标,如果不定目标盲目的干完几个月之后并不知道完成质量。对于系统重构来说我们定的目标可能是:用户操作响应时长缩短一半、可支持同时在线观看视频的用户数翻倍等。


这个目标一定要同步到包括开发、测试、产品经理等所有人,团队的目标必须清晰明了。


640


第二步:了解整个系统功能

了解整个系统功能,小到所有细节。知彼知己,百战不殆。重构之前要充分的了解整个旧系统的功能,业务流程,并整理清楚旧代码的逻辑。


对旧代码熟悉才能作出比旧系统更好的系统,同样了解旧系统也是一个学习和进步的过程。


第三步:数据库重构和数据迁移

数据对一个公司的价值不言而喻,尤其是咱们的这些视频,所以在数据库的重构和数据迁移这一块要特别当心。


数据库的重构,可以先从表开始,把之前的冗余表,冗余字段的表,扩展性差的表可以设计成一个新表;不再用的表或者字段可以删掉;扩展性太大的表可以分成多个表等。


数据库重构后,以前的旧数据也需要迁移过来。迁移的时候也需要根据迁移的量,迁移速度等开发相应的数据迁移软件或者使用开源软件进行数据的迁移。


第四步:代码编写、业务接口设计

因为针对一些新业务,所以很多接口可能会重新设计,代码需要重新编写。新设计的接口分析的角度要明确,入参和出参的格式要统一,控制好数据量,并提供必要的调用信息。


640

第五步:开发联调、测试人员介入

每一次代码的改动,都需要做好严格的单元测试。如业务接口新设计后,需要通过自检程序,开发人员需要对比和旧接口输入是否一致,也需要做好性能测试和稳定性测试。还需要与其他系统的测试人员做好接口联调。


上线之前肯定要做到全方位的AB测试,不然最后全国上线了碰到会员没法看视频这些情况就会造成很不好的影响。


第六步:切流量做测试

如果新设计的接口没有问题,可以先切一小部分流量做测试,并对系统进行实时监控,经常查看日志文件发现问题。测试发现新接口稳定后可将全部流量切换到新接口。


第七步:灰度发布

让一部分用户体验部分新的接口,另一部分用户用另一部分重构的接口,并及时获取用户反馈,发现问题后完善产品的不足,如果过程中发现系统稳定,用户没什么大问题,再将用户迁移做系统测试。都没什么问题后再把新系统全部上线。


经过数百名程序员几个月的努力,重构终于完成了。新的框架不仅速度更快,更稳定,维护起来也更加方便容易,公司业务上也得到更好的支持。不得不说,这次重构事件之后,大家都感叹小甲好有远见,也越来越佩服小甲的管理能力。

猜你喜欢

转载自blog.csdn.net/Ly4wU5giY/article/details/82977334
今日推荐