隨筆-72  評(píng)論-20  文章-0  trackbacks-1
          金山軟件事業(yè)部的技術(shù)總監(jiān)許式偉常常稱自己是一個(gè)計(jì)算機(jī)的狂熱愛(ài)好者。對(duì)于他深厚的軟件開(kāi)發(fā)經(jīng)歷,他只簡(jiǎn)單的分成了桌面開(kāi)發(fā)階段、服務(wù)器開(kāi)發(fā)階段。但我想這每一個(gè)階段中都蘊(yùn)涵了很多關(guān)于他奮斗故事。

          許式偉將他的2個(gè)開(kāi)發(fā)階段分成了4個(gè)時(shí)期,第一個(gè)時(shí)期是WPS Office舊版本的開(kāi)發(fā),包括WPS Office,WPS Office 2002。第二個(gè)時(shí)期是WPS Office V6也就是WPS Office 2005的開(kāi)發(fā),這一開(kāi)發(fā)過(guò)程也是許式偉到現(xiàn)在都非常難望的一段經(jīng)歷。整個(gè)開(kāi)發(fā)歷時(shí)3年,完全是從零開(kāi)始重新編寫全新的WPS Office。

          許式偉在這個(gè)項(xiàng)目中負(fù)責(zé)了整個(gè)系統(tǒng)的架構(gòu),許式偉是這樣描述這一段的“這段時(shí)間是辛苦的,但也是個(gè)人覺(jué)得能力提升最迅速的階段。沒(méi)有比做一個(gè)Office還要復(fù)雜的系統(tǒng)了,這段經(jīng)歷使我從關(guān)注“設(shè)計(jì)/編碼的技巧”上,轉(zhuǎn)到了關(guān)注“設(shè)計(jì)的可實(shí)施性、可檢驗(yàn)(測(cè)試)性”上。”

          走過(guò)了最難忘也是最辛苦的第二個(gè)時(shí)期,已經(jīng)從當(dāng)初蛻變了的許式偉開(kāi)始了對(duì)互聯(lián)網(wǎng)的探究,這構(gòu)成他的第三個(gè)時(shí)期,也就是主攻搜索引擎技術(shù)和協(xié)同推薦。

          今年,在公司的支持下,許式偉在年初時(shí)決定成立“金山實(shí)驗(yàn)室”,這不僅僅對(duì)公司是一件很好的事情,對(duì)許式偉來(lái)說(shuō),有了能夠讓他將更多的想法變成現(xiàn)實(shí)和探索更多事情的平臺(tái),基于此,許式偉的技術(shù)生涯正式邁進(jìn)了第四個(gè)時(shí)期。許式偉說(shuō)其實(shí)他曾經(jīng)最引以為豪的是做了一個(gè)世上速度最快的Word文檔生成模塊,“我認(rèn)為它比微軟的還要快”許式偉這樣說(shuō),“它依賴了我寫的一個(gè)內(nèi)存管理組件(AutoFreeAlloc),關(guān)于最袖珍的垃圾回收器——AutoFreeAlloc在互聯(lián)網(wǎng)上現(xiàn)在不少轉(zhuǎn)載,大家的關(guān)注度也很高,我收到的網(wǎng)友來(lái)信有半數(shù)是關(guān)于它的。”現(xiàn)在他希望“金山實(shí)驗(yàn)室”的建立將會(huì)超過(guò)他之前的成就,成為他最自豪的事情。

          許式偉曾被稱作是金山最年輕的架構(gòu)師,針對(duì)于現(xiàn)在軟件業(yè)對(duì)架構(gòu)師這一概念理解的混淆,許式偉認(rèn)為架構(gòu)師從定義上來(lái)講,是對(duì)系統(tǒng)進(jìn)行分析,并確定如何劃分系統(tǒng)、定義各個(gè)子系統(tǒng)規(guī)格的人。

          某個(gè)子系統(tǒng)如果比較關(guān)鍵或者很復(fù)雜,那么還需要子系統(tǒng)架構(gòu)師繼續(xù)細(xì)化這個(gè)系統(tǒng)。架構(gòu)師的設(shè)計(jì)對(duì)后續(xù)的開(kāi)發(fā)是決定性的。如果架構(gòu)師的設(shè)計(jì)出現(xiàn)了問(wèn)題,例如架構(gòu)的可實(shí)施性不高,系統(tǒng)耦合很強(qiáng),那么很容易出現(xiàn)代碼需要大量重構(gòu)的情況,最糟糕的情況是,有時(shí)候某個(gè)模塊稍微的改動(dòng)將會(huì)牽連到整個(gè)系統(tǒng),令你想改都改不了。

          那么要成長(zhǎng)為一名合格的架構(gòu)師,許式偉總結(jié)了幾個(gè)原則,希望能對(duì)即將承擔(dān)架構(gòu)師職責(zé)的技術(shù)開(kāi)發(fā)者有所啟發(fā):
          1、必須要對(duì)產(chǎn)品的需求有透徹的理解。
          GOF有這樣一句話: “設(shè)計(jì)應(yīng)該支持變化” ——獲得最大限度復(fù)用的關(guān)鍵在于對(duì)新需求和已有需求發(fā)生變化時(shí)的預(yù)見(jiàn)性,要求你的系統(tǒng)設(shè)計(jì)要能夠相應(yīng)地改進(jìn)。"程序能力尤其是框架能力并不是天生的,而是取決于程序架構(gòu)師對(duì)需求的理解程度。如果在不了解系統(tǒng)需求的前提下,就開(kāi)始進(jìn)行設(shè)計(jì),那么即使是天才,也不能設(shè)計(jì)出完美的框架。
           
          2、豐富的編碼經(jīng)驗(yàn)。
          軟件開(kāi)發(fā)是實(shí)踐科學(xué),是不可能有人天生就有很強(qiáng)的設(shè)計(jì)能力的。只有大量的經(jīng)驗(yàn)后,才能夠深刻體會(huì)"設(shè)計(jì)的可實(shí)施性遠(yuǎn)遠(yuǎn)重要過(guò)靈巧的設(shè)計(jì)"這句話,并且知道如何做才能夠使得設(shè)計(jì)易被實(shí)施。

          上面的這兩點(diǎn)是你想成長(zhǎng)為一名架構(gòu)師所必須具備的能力,那么如何能成為一名好的架構(gòu)師呢?是不是你有了豐富的編碼經(jīng)驗(yàn)就能成為一名架構(gòu)師呢?答案當(dāng)然是否定的,豐富的編碼經(jīng)驗(yàn),是成為好的架構(gòu)師的必要條件,但絕對(duì)不是充要條件。

          這也是為什么現(xiàn)在架構(gòu)師仍然屬于白金級(jí)的技術(shù)價(jià)值最高的人群,要成長(zhǎng)為一名好的架構(gòu)師,還有以下的三點(diǎn)需要做好:
          1、理解需求。
          2、編碼。
          3、反思。

          有回顧才有進(jìn)步。架構(gòu)師往往是個(gè)完美主義者。一個(gè)模塊做了之后,總會(huì)不斷去想是否還可以做得更好。總是自我承認(rèn),自我欣賞是絕不會(huì)成為一名好的架構(gòu)師的。通過(guò)許式偉對(duì)架構(gòu)師的這一番講解,是不是也會(huì)引起你的一番反思呢?

          在采訪許式偉的過(guò)程中,我不僅體會(huì)到了一個(gè)軟件開(kāi)發(fā)人員踏實(shí)的進(jìn)取之路,他對(duì)“金山實(shí)驗(yàn)室”定位的理解,對(duì)WPS有不同于大家的更深刻的認(rèn)識(shí),所以,在下篇我們會(huì)詳細(xì)講述到底“金山實(shí)驗(yàn)室”是怎樣的定位?WPS的前景在哪里?而Winx又是怎樣的一個(gè)項(xiàng)目?請(qǐng)繼續(xù)關(guān)注明天的專訪許式偉:技術(shù)狂熱分子的蛻變經(jīng)歷

          許式偉現(xiàn)在是“金山實(shí)驗(yàn)室”的負(fù)責(zé)人。談到成立實(shí)驗(yàn)室的原因,許式偉說(shuō):“我看到了一個(gè)事實(shí),在普通項(xiàng)目中,我們往往為了迫于進(jìn)度的壓力,容易放棄或者簡(jiǎn)化對(duì)某些關(guān)鍵技術(shù)(通常很難規(guī)劃詳細(xì)的時(shí)間線)的要求。成立實(shí)驗(yàn)室的初衷,在于去做一些普通項(xiàng)目組想做但不敢做的事情。”

          其次,這也是一種另外形式的細(xì)分工,實(shí)驗(yàn)室的研究成果會(huì)反作用于項(xiàng)目,提高產(chǎn)品的競(jìng)爭(zhēng)力。許式偉說(shuō):“我們意識(shí)到開(kāi)源社區(qū)蘊(yùn)含無(wú)比的能量,我們希望實(shí)驗(yàn)室是可以研究開(kāi)源社區(qū)的成果”,所以“金山實(shí)驗(yàn)室”是很開(kāi)放的,我們改進(jìn)這些項(xiàng)目成果,并會(huì)繼續(xù)將這些成果反饋到開(kāi)源社區(qū)。

          談到中國(guó)應(yīng)用軟件開(kāi)發(fā)史上里程碑式的產(chǎn)品WPS,許式偉認(rèn)為人們對(duì)WPS的認(rèn)識(shí)并不充足,因此,每次當(dāng)許式偉有機(jī)會(huì),就會(huì)向大家介紹WPS Office。為了實(shí)現(xiàn)“一樣的Office”,從2002年開(kāi)始,研發(fā)的WPS Office 2005及其后的版本的所有代碼都是推倒全部重寫的,這樣做的重點(diǎn)就是要與MS Office做到“文件格式兼容

          這項(xiàng)工作雖然多數(shù)辦公軟件廠商都在做,但是沒(méi)有像許式偉他們那樣是從內(nèi)核的數(shù)據(jù)組織、排版引擎的排版算法來(lái)兼容MS Office,因此,得到的效果也都無(wú)法象他們做得那樣徹底,包括了“用戶習(xí)慣兼容”和“二次開(kāi)發(fā)接口兼容”。

          這樣做的目的也很明確:減少用戶從MS Office遷移到WPS Office的代價(jià)。而另外很重要的一點(diǎn)是,這樣的產(chǎn)品只有20M大小,非常方便網(wǎng)上下載。 這些努力也獲得了回報(bào),WPS Office的用戶現(xiàn)在飛速上揚(yáng)。許式偉說(shuō):“我以前機(jī)器上都習(xí)慣同時(shí)安裝WPS Office和MS Office的,但是這種情況從WPS Office 2005之后得到了改變。我的機(jī)器現(xiàn)在已經(jīng)只需要安裝WPS Office了”。

          針對(duì)WPS以后的發(fā)展走向?他為我們列出了以下的幾點(diǎn)規(guī)劃。一是走國(guó)際化路線,支持多種語(yǔ)言,讓W(xué)PS在世界各地開(kāi)花結(jié)果;二是根據(jù)用戶的多元化需求不斷推出更好的產(chǎn)品。這兩條線并行前行,WPS會(huì)有更加廣闊的前景。

          其實(shí)談到開(kāi)源社區(qū),許式偉最響亮的當(dāng)屬作為Winx的第一作者了。關(guān)于Winx,許式偉有一個(gè)精辟的概括“MOST SIMPLE BUT EFFECTIVE(簡(jiǎn)單而高效)”。WINX目前來(lái)說(shuō)是一個(gè)Windows平臺(tái)的界面庫(kù)。由于基于WTL,因此WINX可以認(rèn)為是WTL的擴(kuò)展,完成度還是挺高的。它有這樣的一些特點(diǎn):
          1、卓越的消息分派機(jī)制。正是因?yàn)橛羞@個(gè)核心支撐,使得WINX成為迄今為止最高效的界面庫(kù)。
          2、簡(jiǎn)單易用(SIMPLE)是第一目標(biāo),盡量使可視化(WYSIWYG)界面開(kāi)發(fā)成為可能。
          3、開(kāi)放。WINX代碼是可以和WTL、MFC等界面庫(kù)的代碼共存的。
          4、兼容。盡管有更簡(jiǎn)潔的方法,但WINX還是提供了MFC程序員熟悉的調(diào)用界面,并盡量使得MFC代碼可以輕松移植到WINX下。
          5、不重復(fù)制造輪子。在沒(méi)有一個(gè)卓越的解決方案以區(qū)別于現(xiàn)有系統(tǒng)之前,先沿用現(xiàn)有的。WINX建立于WTL之上,重用了多數(shù)的WTL組件。

          關(guān)于這個(gè)項(xiàng)目的未來(lái)發(fā)展,許式偉希望WINX可以向手機(jī)平臺(tái)發(fā)展。也希望WINX是可視化的界面開(kāi)發(fā)方式。雖然這些目前還在探索階段。但是有不少人都表示過(guò)希望參與WINX的工作,這也讓許式偉感到很欣慰。對(duì)于想?yún)⑴c這個(gè)項(xiàng)目的人,許式偉一般都會(huì)推薦他們先了解一下WINX,并先寫一些WINX的文檔,或者實(shí)際去用WINX做些東西。

          因?yàn)橹挥心憷斫饬怂趴梢匀プ鏊倪M(jìn)一步開(kāi)發(fā)。目前Winx的團(tuán)隊(duì)成員不多,但雖然不是WINX的團(tuán)隊(duì)成員,大家仍然還是可以為它做貢獻(xiàn)的。對(duì)于現(xiàn)在很多技術(shù)人員對(duì)不知道該如何參與開(kāi)源項(xiàng)目的困惑,許式偉說(shuō):“在我把WINX開(kāi)源前,我也覺(jué)得開(kāi)源離我很遙遠(yuǎn),盡管我接觸了不少開(kāi)源項(xiàng)目。但是我把WINX開(kāi)源后,我才真正地感受到開(kāi)源社區(qū)的呼吸,才為它蘊(yùn)含的超強(qiáng)能量而感到驚嘆不已。后來(lái)我向WTL之父提出了加入WTL團(tuán)隊(duì)的請(qǐng)求。這不止因?yàn)閃INX是和WTL血脈相連,也因?yàn)槲覐臎](méi)有象現(xiàn)在那樣渴望為開(kāi)源社區(qū)貢獻(xiàn)自己的力量。 ”(全文完)
          posted on 2008-02-16 21:48 前方的路 閱讀(679) 評(píng)論(0)  編輯  收藏 所屬分類: 感悟
          主站蜘蛛池模板: 五峰| 顺义区| 平南县| 错那县| 资源县| 南投市| 乌拉特中旗| 奉新县| 德庆县| 贵港市| 阳新县| 馆陶县| 离岛区| 麻阳| 永昌县| 应用必备| 墨江| 百色市| 襄樊市| 无锡市| 林周县| 临朐县| 务川| 册亨县| 长春市| 澄江县| 蛟河市| 嘉鱼县| 汽车| 新余市| 台江县| 吐鲁番市| 乐平市| 工布江达县| 登封市| 聊城市| 即墨市| 淅川县| 陆川县| 增城市| 长寿区|