從卓越工程的角度看微軟中國開發團隊的成長 三

2021-09-05 19:30:21 字數 1374 閱讀 5093

高效率的工具

工具的使用在人類歷史發展中起到關鍵作用,乙個時代通常因使用某種工具為標誌。例如石器時代的標誌是石製工具,鐵器時代是鐵質金屬工具,資訊時代是以現代通訊裝置和計算機為標誌。總之,工具使人們的生產效率大大提高,是人類革命性進步的重要組成部分。同樣,在軟體開發中,也離不開工具。

在軟體開發中,最常用的工具是整合開發環境(ide)和源**管理控制系統,整合開發環境包括編輯器(editor)、編譯器(compiler)、鏈結器(linker)和偵錯程式(debugger)等。visual studio professional(專業版)就是這樣的整合開發環境。源**管理控制系統是一套客戶端-伺服器(client-server)系統,伺服器儲存源**,它可以支援多個客戶端提交**並管理控制源**的版本,它還可以在沒有衝突的情況下自動合併客戶端和伺服器有差異的同一檔案,在有衝突的情況下允許客戶端手動解決衝突。這樣乙個系統會使乙個開發團隊的多名工程師有效地提交**,而不用擔心提交的**會把別人的修改覆蓋掉。另外值得一提的是visual studio 2008整合的**分析工具,它可以自動找出**中的錯誤,包括常見的緩衝區溢位等,雖然它也會找出一些並非是錯誤的地方,但能找出一定百分比的錯誤也會使這一工具受到青睞。

**中的漏洞也被叫作蟲(bug),軟體開發測試工程師如果發現問題會記錄到資料庫(bug database)中。微軟的product studio就是這樣的乙個產品,它是乙個團隊協作的工具,軟體開發測試工程師把發現漏洞(bug)紀錄在product studio,專案經理會對bug做triage,軟體開發工程師會改動**修復漏洞。有時開發團隊也會用product studio來管理工作任務,把任務象bug一樣來管理。product studio對提高團隊協作效率有很大貢獻。

這麼多的工具,開發人員在用不同工具時,需要切換,不是很方便。visual studio team system 2008(vsts 2008)把以上的這些工具整合在一起,開發團隊中的專案經理,軟體開發工程師,軟體開發測試工程師都用同乙個工具vsts來進行日常工作,這好像製造業採用了流水線裝置,比以前車間裡用不同工具製造出產品的部件再用其它工具組裝出產品,效率有極大的提高。這樣的一些工具常把流程也做在其中,人員在使用工具時也就按照流程來做了,這是今後開發工具發展的乙個重要方向。

clr/silverlight團隊建立一年多了,隊員對各種工具的使用已經非常嫻熟了。winforms團隊雖然只有幾個月,大家對各種工具的使用也上手了。目前兩個團隊都開始使用visual studio team system 2008 ,我相信隨著vsts 的不斷改進,我們的高效工具會使團隊的效率達到最佳。

結束語

年輕的中國開發團隊經過嚴格的人員挑選組隊、人員培訓、對技術和領域知識的掌握、高效工具的使用、簡捷有效的流程的建立以及不斷的經驗積累,相信一定會成長為一支優秀的開發團隊。

部門經理 徐鵬陽

從辯證的角度看產品

從辯證的角度看產品 然而,當我們用我們自身的思維角度去看待一款產品時,往往可能由於對產品接觸的時間太少,或者是使用到功能的不全面,導致我們對一款產品的認識只能達到乙個有限的程度,這往往是不可避免的。同樣的,當我們要去開發一款產品,往往可能由於對產品真正需求的不確定,或者是考慮的不夠周全,導致我們希望...

從彙編的角度看棧

大家都知道,棧區是儲存函式,區域性變數的一塊記憶體區域。那麼讓我們從彙編的角度,來看看函式的執行過程。首先,當我們使用pushl將資料入棧時,棧頂會移動,以容納新增加的值。實際上,我們能不斷將值入棧,棧會在記憶體中保持向下增長,知道存放 或資料的地方。那麼,我們如何知道棧頂位址呢?棧暫存器 esp總...

從oo角度看with的使用

乙個同事維護 delphi 的時候發現原來 的軟體內有很多 with 過多的 with 讓 難以除錯。引入 with 的本意在於節省重複出現的物件名。比如說,如果有這樣的呼叫 function foo begin objecta.prop1 a objecta.prop2 b objecta.run...