Qq空间业务主要围绕QQ空间展开,为用户提供多样化的服务。包括空间装扮,让用户能打造个性化空间;日志撰写与管理,方便记录生活点滴;相册整理,妥善保存珍贵照片。还有空间访问权限设置等业务办理,助力用户更好地展示自我、管理个人空间,满足社交与个性表达需求。
QQ空间业务(空间业务办理)
随着互联网社交的不断发展,QQ空间作为腾讯旗下的一款重要社交产品,自2005年上线以来,经历了多次迭代与升级,它不仅是很多人青春回忆的一部分,也是许多年轻用户首选的社交平台之一,随着时间的推移,QQ空间的技术架构逐渐暴露出一些问题,如代码陈旧、维护成本高、功能扩展困难等,对QQ空间进行重构升级势在必行。
一、重构背景与必要性
1、业务复杂性增加:作为一个平台型的入口,QQ空间承担了为很多兄弟业务引流的责任,许多团队在空间的代码里协作开发,加上自身多年累积的功能迭代,空间的业务变得非常复杂,业务的复杂带来了架构的复杂,架构的复杂意味着维护成本的升高,多年来空间的业务交接频繁,多个团队接手,交到我们团队手上时,空间的代码已经一言难尽。
2、代码劣化严重:由于频繁的交接和多团队的协同开发,空间的代码逐渐劣化,各项代码质量的指标几乎都在手Q里垫底,空间的代码成了著名的原始森林——进得去出不来,代码的劣化导致历史bug难以收敛,即使一行代码不改,每个版本也会新增历史bug30+。
3、技术债务庞大:面对如此庞大的历史债务,空间已经到了寸步难行、不破不立的地步,重构势在必行。
二、重构过程与策略
为了应对上述挑战,QQ空间团队启动了历史上最大规模的一次重构,这次重构围绕着四个核心问题展开:渐进式重构、提高扩展性和复用性、复杂度长期可控、做好防劣化。
1、渐进式重构:为了避免步子迈得太大导致工作量扩散,QQ空间团队采用了渐进式重构的策略,他们并没有立即开始对旧代码进行重写,而是先基于团队的RFW-Part框架对老代码进行拆解,通过将一个大问题分解为许多个小问题,并针对小问题进行重构和回滚,确保系统随时都是可用状态。
2、架构融合:QQ空间团队彻底抛弃了老的技术组件,与团队内部沉淀的RFWComponent进行架构融合,同时积极接入手Q统一的UI体系,以保证开发能专注于业务中间层开发。
3、提效前置,简化运行环境:在进行业务重构前,QQ空间团队还了一部分技术债,包括去插件化、进程统一、工程结构优化和编译优化等,这些工作都在业务重构前完成并上线验证,简化了空间代码的运行环境,提升开发效率。
4、降低复杂度并长期可控:为了降低复杂度并长期可控,QQ空间团队重新设计了空间的架构层级,他们采用组合代替继承的方式,通过Part+Section的架构来拆散原有的紧密耦合,同时引入RFW-Part框架来保证页面级的UI容器架构的可感知性和生命周期管理。
三、重构成果与展望
经过一系列的努力和改造,QQ空间的重构取得了显著的成果,新的架构提高了扩展性和复用性,降低了复杂度并使其长期可控,同时简化了运行环境并提升了开发效率,这些改进不仅为QQ空间带来了更加稳定和高效的技术支持也为未来的业务发展奠定了坚实的基础。
展望未来,QQ空间将继续秉承用户至上的理念不断优化和完善产品功能和服务体验,同时他们也将持续关注行业动态和技术发展趋势积极探索和应用新技术和新方法为用户提供更加优质和便捷的社交服务体验。