ITBear旗下自媒體矩陣:

金山辦公姚冬:用技術(shù)管理突破超大規(guī)模軟件“不可能三角”

   時(shí)間:2023-02-13 10:30:06 來源:互聯(lián)網(wǎng)編輯:茹茹 發(fā)表評論無障礙通道

2月5日至2月7日,QCcon全球軟件開發(fā)大會在北京舉行。作為由InfoQ中國主辦的綜合性技術(shù)盛會,QCon圍繞前端新基建與前沿技術(shù)、實(shí)時(shí)音視頻、AI基礎(chǔ)架構(gòu)等熱門話題,舉辦了上百場精彩演講,來自各行各業(yè)的開發(fā)者、架構(gòu)師匯聚一堂,共同分享不同領(lǐng)域的技術(shù)創(chuàng)新和實(shí)踐。

在本屆大會上,金山辦公副總裁姚冬和金山辦公移動(dòng)端研發(fā)總監(jiān)吉妙通分別以《超大規(guī)模C++項(xiàng)目研發(fā)效能管理》、《Android大型原生應(yīng)用性能優(yōu)化實(shí)踐》為主題,分享了項(xiàng)目背后的技術(shù)管理經(jīng)驗(yàn)和取舍之道。

超大規(guī)模軟件——用技術(shù)管理突破“不可能三角”

在軟件行業(yè),有一條業(yè)內(nèi)公認(rèn)的“潛規(guī)則”:長周期、大規(guī)模的軟件想持續(xù)向好運(yùn)營,需要解決三個(gè)根本的問題:成本、效能和質(zhì)量。但在通常情況下,這三個(gè)要素組成了一個(gè)“不可能三角”:幾乎不可能同時(shí)做到低成本、高效能和高質(zhì)量。

姚冬認(rèn)為,要理解“不可能三角”,首先要先對三角(成本、效能、質(zhì)量)的構(gòu)成足夠清晰。

第一,成本通常來說分為顯性成本和隱形成本,前者包括設(shè)備成本、薪酬成本等,后者包含溝通成本、信任成本等;第二,效能可以分為三種,比如決策效率,一個(gè)大的軟件項(xiàng)目要做很多的決策,一旦決策錯(cuò)了越努力效率越低;比如執(zhí)行效能,研發(fā)不只是靠人,還包括工具,如果工具本身執(zhí)行效率低,工具效率也會影響;比如協(xié)作效能,人不可能單槍匹馬去做一件事情,要很多人合作,團(tuán)隊(duì)期待的是合作“1+1大于2”,但是現(xiàn)實(shí)中經(jīng)常會出現(xiàn)“1+1小于2”的效果。第三,質(zhì)量的影響因素貫穿了軟件設(shè)計(jì)、開發(fā)、測試全流程。

面對以上難題,技術(shù)管理是解決手段之一。管理的目的就是在三件事情之間找到一個(gè)相對好的平衡點(diǎn)。

金山辦公副總裁 姚冬

金山辦公將管理分為三個(gè)層面:管人、管事、管技術(shù)。具體來說,就是把“管事”交給項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理負(fù)責(zé)管流程、缺陷、交付、協(xié)調(diào)、溝通、資源等;把“管技術(shù)”的工作交給資深工程師,負(fù)責(zé)下技術(shù)決策,解決技術(shù)上的疑難雜癥。

值得一提的是,金山辦公也在內(nèi)部打造了大量制度的“基礎(chǔ)設(shè)施”,包括代碼管理、持續(xù)集成持續(xù)交付、CI/CD、人才培養(yǎng)等等,讓管理運(yùn)行在完善制度之上。

姚冬還指出,管理還需要落實(shí)到工具上。管理的制度流程如果寫在紙上,只是一個(gè)文本文件,只有落到一個(gè)工具上,才是一個(gè)可執(zhí)行文件。比如代碼分支管理、質(zhì)量控制,包括安全、代碼審查、信息收集管理和監(jiān)控等重要議題,金山辦公都通過研發(fā)支撐系統(tǒng)落實(shí)。

通常來說,軟件產(chǎn)品的完整生命周期包括:編碼階段、編譯集成階段、代碼階段,持續(xù)集成階段,WPS給每一個(gè)階段都匹配了對應(yīng)的工具。

此外,金山辦公還建立了完善的質(zhì)量保障體系,確保多層次的質(zhì)量保障服務(wù)。從單元測試到集成測試到發(fā)布測試,這些工作都能在質(zhì)量效能平臺得到很好的管理,及時(shí)消除風(fēng)險(xiǎn)隱患,為軟件質(zhì)量添磚加瓦。

姚冬表示:“做好超大規(guī)模軟件項(xiàng)目,不僅需要技術(shù)能力、產(chǎn)品能力,也需要管理能力,用管理推動(dòng)技術(shù)創(chuàng)新、效率提升和質(zhì)量改進(jìn)。”

Android端應(yīng)用性能優(yōu)化——快速加載+高幀渲染

隨著時(shí)代發(fā)展,用戶編寫的文檔內(nèi)容、數(shù)據(jù)量、展示效果等越來越復(fù)雜,雖然手機(jī)的性能越來越強(qiáng)大,但考慮到功耗等各方面的原因,移動(dòng)端和PC的性能還有一定差距,因此像WPS這種移動(dòng)原生大型應(yīng)用,仍然需要對性能優(yōu)化不斷進(jìn)行更新迭代。

在Andorid移動(dòng)端,系統(tǒng)分配給每個(gè)APP的內(nèi)存有限,應(yīng)用不可能無限制地去使用內(nèi)存;另外,短時(shí)間內(nèi),應(yīng)用在手機(jī)和PC上的運(yùn)行速度也有所差別;而且,用戶對移動(dòng)端的使用體驗(yàn)往往要求更高。在這種情況下,如何用盡可能短的時(shí)間展示這些數(shù)據(jù),加載后如何保證數(shù)據(jù)的連續(xù)性和完整性,都是開發(fā)者要重點(diǎn)考慮的問題。

金山辦公移動(dòng)端研發(fā)總監(jiān) 吉妙通

WPS在Android端的優(yōu)化是一個(gè)龐大而復(fù)雜的工程。據(jù)吉妙通介紹,優(yōu)化的關(guān)鍵在于從兩個(gè)鏈路上解決:大文檔的快速加載機(jī)制、高幀率的渲染邏輯。

如何實(shí)現(xiàn)大文檔的快速加載?WPS在多年的優(yōu)化過程中,始終遵循四個(gè)原則:一是首屏優(yōu)先讀取;二是分塊按需加載,以圖片為例,可延遲加載的內(nèi)容無需提前加載;三是多線程并發(fā),線程并不是越多越好,多線程的處理和管理需要找到一個(gè)平衡點(diǎn);最后是延遲處理,有些不必要的數(shù)據(jù)可以在首屏之后、甚至用戶需要的時(shí)候才進(jìn)行加載。

對于高幀率的渲染邏輯,WPS主要圍繞兩個(gè)方向展開。一方面,為不同的內(nèi)容匹配更合適的文檔渲染方案;另一方面,也要做好多線程之間的競爭協(xié)作處理機(jī)制,包括UI線程、渲染線程,IO線程等等。

為了更好地監(jiān)控和改進(jìn)優(yōu)化效果,WPS為此還單獨(dú)研發(fā)了效率監(jiān)控工具。金山辦公測試數(shù)據(jù)顯示,WPS文字、表格、演示三大組件的熱啟動(dòng)首屏顯示平均時(shí)間達(dá)到500ms左右,滾屏效率數(shù)據(jù)統(tǒng)計(jì)平均幀間隔均達(dá)到17ms左右,很好地滿足了流暢度的要求,也給用戶帶來更好的使用體驗(yàn)。

過去的34年,金山辦公堅(jiān)持深耕辦公賽道,秉持技術(shù)立業(yè),不斷打磨技術(shù)和產(chǎn)品服務(wù),旗下WPS已有超過3600萬C++代碼的龐大規(guī)模,至今依然保持著快速發(fā)展。截至2022年9月,金山辦公主要產(chǎn)品月度活躍設(shè)備數(shù)達(dá)5.78億,其中WPS移動(dòng)版月度活躍設(shè)備數(shù)已達(dá)3.36億,成為名副其實(shí)的國民辦公軟件。

舉報(bào) 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開放轉(zhuǎn)載  |  滾動(dòng)資訊  |  English Version