应用大小对用户和环境的影响
添加新功能往往会对应用大小产生隐性影响,带来用户流失和不必要的碳排放等不良后果。为了控制应用大小,Spotify工程师建立了PR(Pull Request)前后的流程,成功在六个月内预防了约10MB的应用大小增长。
应用大小的重要性
尽管应用大小并非开发者关注的核心,但Spotify工程师Viktor Petrovski、Dmitry Povolotskyi和Bruno Rocha认为,这是一个不可忽视的重要因素。应用大小从网络带宽和存储空间两个维度影响用户,尤其是对全球85%的人口(主要使用存储和网络带宽有限的旧设备)而言。Google的一项实验表明,应用大小每增加6MB,安装转化率下降1%,这意味着大量潜在用户的流失。
应用大小与碳排放
即使在发达国家,应用大小也因网络流量对全球变暖的影响而成为关注点。Spotify工程师提供的数据显示,仅更新移动应用就产生了超过930PB的网络流量。根据Shift Project的one-byte模型和EPA 2019年的数据,这些流量相当于约65,000吨二氧化碳排放,等同于65,000人往返伦敦和纽约的航班碳排放。
Spotify的应用大小控制流程
为控制应用大小,Spotify采用了严格的PR合并前后流程:
- PR合并前流程:
使用Emerge Tools分析每个PR对应用大小的影响。如果PR增加的大小超过50KB,专门团队会进一步分析并根据多项标准决定是否批准。 - PR合并后流程:
该流程旨在从全局视角监控应用大小的演变。即使每个PR增加的大小小于50KB,多个PR的累积效应也可能导致应用大小显著增长。Emerge Tools提供编译单元的详细分析,帮助识别哪些团队对应用大小增长贡献最大,并用于团队间的绩效比较。
流程效果
这套流程帮助Spotify工程师识别了100多个触发警告的PR,其中53个被修订以减少大小。这不仅防止了超过10MB的应用大小增长,还在工程师中建立了追求较小PR的共享文化。
总结
通过PR合并前后的严格流程,Spotify成功控制了应用大小,减少了用户流失和碳排放,同时提升了开发团队对应用大小影响的认识。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。