podcast和原型開發

【原文地址】 Podcasts and Prototyping
【原文發表日期】 Sunday, November 19, 2006 11:37 PM

Ron Jacobs 最近發佈了他的 ARCast.net 節目裏採訪我的播客(podcast),該節目是個面向架構師的免費podcast系列。在這一期的podcast裏,我們討論了幾個大家也許會發現比較有趣的主題:

  • .NET,特別是ASP.NET後面的一些歷史
  • 原型開發(prototyping)的重要性以及如何不把它搞砸了
  • 培養成功的架構師所需的“軟技能(soft skills)”的重要性

原型開發的討論,我想,對外面的許多項目都有很多的相關性。這是個我真的建議所有的開發人員都應該花更多的時間去做的最佳實踐。因爲做得好的話,確實允許你實驗和很快地嘗試很多主意和概念性的東西,可以幫助你在你的項目裏在創新方面有顯著的提高。

原型開發關鍵的東西在於,保證你絕對不把原型代碼變形轉化成生產代碼(production code)。別試着對原型代碼整理(clean up)或提煉(refine)使之成爲生產級別的代碼。這類“整理(clean up)”往往走得不夠遠,其結果是,使得項目的起始基礎很差。把“快捷而質量不高(quick and dirty)”的代碼導入到代碼庫裏就象是把一個壞蘋果扔進一筐好蘋果裏一樣,你很容易會以code rot(代碼腐爛)在代碼庫裏蔓延而告終。

從空白的新項目開始總歸是最好的,然後把原型的概念,而不是原型的代碼引入到項目裏來。在前面花額外的時間確保新的生產代碼是從100%的生產質量起步的,別試着通過重用原型裏的代碼來節省幾天的時間。你會發現,在一個原型開發練習之後,從頭開始編寫“真正的”生產代碼會比你預期的要快很多,因爲那些關鍵想法在你的腦子裏已經是有形有肉了(fleshed out),因此你對實現( implementation)應該如何組織會有一個極其深刻的理解。代碼質量的標準也顯著地提高了。

我最近在實現一個想法時就遇上了這樣的事情,這個想法是在過去幾個週末的業餘時間裏,我一直在用原型開發來實驗的很多想法中的一個。我有些非常複雜的調度邏輯我一直在編寫,並且隨着我試驗各種功能和方法時,這個邏輯也一直在變。我知道,一旦對其中一些編程模型方面的想法試驗完畢之後,我應該能夠將它整理得很乾淨的,但它一直不乾淨,直到昨晚,我騰出了幾個小時來從頭編寫新的實現時,我纔看到我能在那個迭代開發出來的原型之上得到多麼顯著的改進。我猜想,大多數人,如果訓練有素,並且確定在使用原型方法完成迭代開發/從中學到東西之後有意識地扔掉原型代碼的話,都是能看到類似的編碼改進或質量的結果的。

想完整收聽這個podcast的話 ,請訪問Ron的這個podcast連接

希望本文對你有所幫助,

Scott

附註:我剛看到Paul Glavich 在這裏貼出了另一個採訪我的podcast 。這第二個podcast 節目的內容包括,ASP.NET AJAX (即 Atlas), WPF/e,Windows Workflow/Cardspace,BLINQ 和Script#,以及 Visual Studio 2005 SP1。也一定要去看一下!

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章