2月5日至2月7日,QCcon全球软件开发大会在北京举行。作为由InfoQ中国主办的综合性技术盛会,QCon围绕前端新基建与前沿技术、实时音视频、AI基础架构等热门话题,举办了上百场精彩演讲,来自各行各业的开发者、架构师汇聚一堂,共同分享不同领域的技术创新和实践。

在本届大会上,金山办公副总裁姚冬和金山办公移动端研发总监吉妙通分别以《超大规模C++项目研发效能管理》、《Android大型原生应用性能优化实践》为主题,分享了项目背后的技术管理经验和取舍之道。

超大规模软件——用技术管理突破“不可能三角”

在软件行业,有一条业内公认的“潜规则”:长周期、大规模的软件想持续向好运营,需要解决三个根本的问题:成本、效能和质量。但在通常情况下,这三个要素组成了一个“不可能三角”:几乎不可能同时做到低成本、高效能和高质量。

姚冬认为,要理解“不可能三角”,首先要先对三角(成本、效能、质量)的构成足够清晰。

第一,成本通常来说分为显性成本和隐形成本,前者包括设备成本、薪酬成本等,后者包含沟通成本、信任成本等;第二,效能可以分为三种,比如决策效率,一个大的软件项目要做很多的决策,一旦决策错了越努力效率越低;比如执行效能,研发不只是靠人,还包括工具,如果工具本身执行效率低,工具效率也会影响;比如协作效能,人不可能单枪匹马去做一件事情,要很多人合作,团队期待的是合作“1+1大于2”,但是现实中经常会出现“1+1小于2”的效果。第三,质量的影响因素贯穿了软件设计、开发、测试全流程。

面对以上难题,技术管理是解决手段之一。管理的目的就是在三件事情之间找到一个相对好的平衡点。

金山办公副总裁 姚冬

金山办公将管理分为三个层面:管人、管事、管技术。具体来说,就是把“管事”交给项目经理,项目经理负责管流程、缺陷、交付、协调、沟通、资源等;把“管技术”的工作交给资深工程师,负责下技术决策,解决技术上的疑难杂症。

值得一提的是,金山办公也在内部打造了大量制度的“基础设施”,包括代码管理、持续集成持续交付、CI/CD、人才培养等等,让管理运行在完善制度之上。

姚冬还指出,管理还需要落实到工具上。管理的制度流程如果写在纸上,只是一个文本文件,只有落到一个工具上,才是一个可执行文件。比如代码分支管理、质量控制,包括安全、代码审查、信息收集管理和监控等重要议题,金山办公都通过研发支撑系统落实。

通常来说,软件产品的完整生命周期包括:编码阶段、编译集成阶段、代码阶段,持续集成阶段,WPS给每一个阶段都匹配了对应的工具。

此外,金山办公还建立了完善的质量保障体系,确保多层次的质量保障服务。从单元测试到集成测试到发布测试,这些工作都能在质量效能平台得到很好的管理,及时消除风险隐患,为软件质量添砖加瓦。

姚冬表示:“做好超大规模软件项目,不仅需要技术能力、产品能力,也需要管理能力,用管理推动技术创新、效率提升和质量改进。”

Android端应用性能优化——快速加载+高帧渲染

随着时代发展,用户编写的文档内容、数据量、展示效果等越来越复杂,虽然手机的性能越来越强大,但考虑到功耗等各方面的原因,移动端和PC的性能还有一定差距,因此像WPS这种移动原生大型应用,仍然需要对性能优化不断进行更新迭代。

在Andorid移动端,系统分配给每个APP的内存有限,应用不可能无限制地去使用内存;另外,短时间内,应用在手机和PC上的运行速度也有所差别;而且,用户对移动端的使用体验往往要求更高。在这种情况下,如何用尽可能短的时间展示这些数据,加载后如何保证数据的连续性和完整性,都是开发者要重点考虑的问题。

金山办公移动端研发总监 吉妙通

WPS在Android端的优化是一个庞大而复杂的工程。据吉妙通介绍,优化的关键在于从两个链路上解决:大文档的快速加载机制、高帧率的渲染逻辑。

如何实现大文档的快速加载?WPS在多年的优化过程中,始终遵循四个原则:一是首屏优先读取;二是分块按需加载,以图片为例,可延迟加载的内容无需提前加载;三是多线程并发,线程并不是越多越好,多线程的处理和管理需要找到一个平衡点;最后是延迟处理,有些不必要的数据可以在首屏之后、甚至用户需要的时候才进行加载。

对于高帧率的渲染逻辑,WPS主要围绕两个方向展开。一方面,为不同的内容匹配更合适的文档渲染方案;另一方面,也要做好多线程之间的竞争协作处理机制,包括UI线程、渲染线程,IO线程等等。

为了更好地监控和改进优化效果,WPS为此还单独研发了效率监控工具。金山办公测试数据显示,WPS文字、表格、演示三大组件的热启动首屏显示平均时间达到500ms左右,滚屏效率数据统计平均帧间隔均达到17ms左右,很好地满足了流畅度的要求,也给用户带来更好的使用体验。

过去的34年,金山办公坚持深耕办公赛道,秉持技术立业,不断打磨技术和产品服务,旗下WPS已有超过3600万C++代码的庞大规模,至今依然保持着快速发展。截至2022年9月,金山办公主要产品月度活跃设备数达5.78亿,其中WPS移动版月度活跃设备数已达3.36亿,成为名副其实的国民办公软件。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。

推荐内容