躲在 Win7 華麗之后的微軟開發(fā)人員之心聲

2010/11/5 17:00:54    編輯:軟媒 - 笨笨     字體:【

Win7之家afsion.com.cn):躲在 Win7 華麗之后的微軟開發(fā)人員之心聲

作者:張琪

Win 7是我所用過的操作系統(tǒng)中最好的。靚麗的界面、優(yōu)秀的軟硬件兼容性、高效的運(yùn)行性能、體貼合理的安全設(shè)計(jì)等諸多新特性,無一不昭示著Win 7在操作系統(tǒng)發(fā)展史上里程碑式的地位。對我和我的同事而言,Win 7的意義不僅于此,我們更是她兩個(gè)核心組件MSXML和WDAC的幕后推手,一手包辦了從功能設(shè)計(jì)、開發(fā)到測試的全部工作。

作為Win 7重要的核心組件,MSXML和WDAC支持著包括Office、IE、Windows Live、SQL Server等諸多微軟產(chǎn)品的運(yùn)行,它們的穩(wěn)定性、安全性和性能對于整個(gè)操作系統(tǒng) 重要性是不言而喻的。

技術(shù)的演變,有些是漸進(jìn)的,有些則是顛覆性的。比如,集成電路上的晶體管數(shù)目依照摩爾定律發(fā)展,縱然指數(shù)級增長速度很快,但是依然有規(guī)律可循,仍然屬于漸進(jìn)式的演變;晶體管取代電子管、集成電路取代晶體管,卻是顛覆性的技術(shù)變革。多核(Multi-Core)以及虛擬技術(shù)(Virtualization)就是這樣顛覆性的技術(shù),慢慢影響著信息產(chǎn)業(yè)的大趨勢,為硬件制造商帶來了前所未有的機(jī)遇。這兩項(xiàng)技術(shù)將顯著改善設(shè)備性能,并通過硬件集中化來降低成本,最終在整個(gè)產(chǎn)品生命周期內(nèi)取得最佳的收益,而且也符合如今節(jié)能環(huán)保的趨勢。然而,這對于我們Win 7開發(fā)者而言卻是一個(gè)不小的挑戰(zhàn)。

編程模型的改進(jìn),以及硬件條件的變更,使得原來可以忽略不計(jì)的小概率事故頻繁發(fā)生。更令人苦悶的是,但凡這樣的事故發(fā)生就一定是隨機(jī)事件,重現(xiàn)問題本身不容易,追蹤并確認(rèn)原因困難,修復(fù)它更是難上加難了。在計(jì)算機(jī)教科書上極其普通的一行源代碼,在新的硬件環(huán)境下就可能成為麻煩制造者——誰會(huì)想到就是這樣不起眼的源代碼,變成了難纏問題的罪魁禍?zhǔn)?并且,一再地不請自來。很多人都把它們叫做臭蟲,對我們這群倜儻的年輕工程師而言,既來之則安之嘛。憑借以提高客戶體驗(yàn)為己任的責(zé)任心和恒心,仔細(xì)研讀匯編代碼,多方查詢資料,經(jīng)過多少個(gè)日日夜夜,就差沒去燒香拜佛,一個(gè)頓悟,突然圓滿解決了問題。恰似《關(guān)雎》中所描述的一幕:“參差荇菜,左右流之;窈窕淑女,寤寐求之; 求之不得,寤寐思服;悠哉悠哉,輾轉(zhuǎn)反側(cè)……”

在開發(fā)工程師們“輾轉(zhuǎn)反側(cè)”的同時(shí),測試開發(fā)工程師們也開始了他們“悠哉悠哉”的忙碌。這兩個(gè)組件在微軟操作系統(tǒng)中都有著近十年的歷史,代碼隨著產(chǎn)品的不斷變遷,也越來越復(fù)雜。為確保測試的有效性并排除干擾信息,我們一邊編寫新測試用例,一邊對原先的測試用例進(jìn)行大量修訂。同時(shí),為了加快測試迭代周期,盡快發(fā)現(xiàn)產(chǎn)品中存在的缺陷,我們對原有的測試流程進(jìn)行了大量優(yōu)化,整個(gè)測試周期從三天降低到一天,讓缺陷無所遁形,有效地保證了Windows7的開發(fā)進(jìn)度產(chǎn)品質(zhì)量。

或許許多用戶們對Vista的認(rèn)知就是硬件配置要求高、性能差。實(shí)際上,在高配置硬件上的表現(xiàn),Vista超過了Windows XP,表現(xiàn)欠佳的往往是低配置機(jī)型。當(dāng)然,用戶的需求永遠(yuǎn)是最重要的, Win 7能否在入門級硬件環(huán)境下輕松運(yùn)行,便也成為用戶滿意與否的關(guān)鍵指標(biāo)之一。由于MSXML和WDAC在Win 7中的廣泛應(yīng)用,我們團(tuán)隊(duì)自然而然上了性能優(yōu)化部門的重點(diǎn)關(guān)注名單。平均微軟年齡才一年半的我們,與美國那些資深工程師相比,無疑在技術(shù)上有著不小的差距。雖然也研習(xí)過各個(gè)操作系統(tǒng),在一些原理、細(xì)節(jié)上,我們還是有許多疑惑。然而勤能補(bǔ)拙,深?yuàn)W的原理并不能阻擋我們渴求完美,但凡遇到不明白的地方,記下筆記,在與美國同事緊密交流的間隙,徹底把問題弄懂并融會(huì)貫通為止。這樣,在下一次會(huì)議中,我們就又能與那些資深工程師們“談笑風(fēng)生”了。最終,我們完成了對代碼近乎逐行地優(yōu)化,降低了對其他組件的耦合,減少了對系統(tǒng)內(nèi)存資源的占用。Win7能夠運(yùn)行如飛,其中有我們的一份辛勞。

雖然我們負(fù)責(zé)的兩個(gè)組件沒有靚麗的用戶界面,永遠(yuǎn)只在后臺(tái)默默支持Win 7以及諸多應(yīng)用程序的高效運(yùn)行,不過,讓用戶欣喜于這款最時(shí)髦、最迅捷的操作系統(tǒng),就是對我們最大的回報(bào)。

最后,讓我用Fort Minor的Remember the Name來總結(jié)這段與Win7一同成長的歲月:

It's just ten percent luck

Twenty percent skill

Fifteen percent concentrated power of will

Fifty percent pleasure

Five percent pain

And a hundred percent reason to remember the name