“一鍵運行” ——全面自動化delphi開發環境 -

 

在平臺和產品合作開發的模式下,產品並不擁有全部代碼。因此有些產品的問題,需要和平臺代碼聯調,如果環境搭配對了,解決問題往往是比較容易的事情。但是沒有調試環境下,僅僅靜態查看代碼就常常陷入僵局。

因此,環境安裝是平臺和產品程序員順利高效合作的重要部分。這裏面最爲重要的是一鍵運行——拿來代碼,打開工程,按Run——然後該幹嘛幹嘛。

 

但是現在的情況並不樂觀。局部來自於delphi本身的設計不合理,也來自於我們對這個環境建立的過程不夠重視。常常會遇到的問題是:

 

1.          需要目錄來輸出dcu文件和exe文件。包括 dcu/bin目錄

2.          需要產品內的公用庫。如函數庫、類庫、控件(常常還需要安裝)

3.          拿過來的文件和目錄就是不完整的。

4.          需要自己建立數據庫的連接。自己手工建立數據庫,甚至是插入和修改數據。

5.          有些問題需要外部設備和硬件:比如軟件狗

 

因應上面的問題,儘管說的是一鍵運行,但是涉及到的問題方方面面,其實是一個綜合問題。我們考慮到以Want 工具爲中心來解決它們:

 

1.          want加入task來創建需要的目錄

2.          want加入task,在指定的倉庫內export目錄到當前工程的lib

3.          因爲源代碼,庫都在一個大目錄內,因此需要解決問題時,一個目錄一起丟過來就是,不存在文件不全的問題

4.          連接提出問題的程序員的中間件是一個簡單的方法。更好的方法是提供問題的testcase,就只是運行這個testcase 就可以定位問題。

5.          提供設備的Mock:比如軟件狗的Mock來模擬軟件狗的運行。

 

僅僅是爲了一鍵運行,在delphi內也是頗費思量,更不要說在delphi在平臺模塊化方案設計上經歷的痛苦——我們花費了一週時間討論,也沒有很好的方法——現在明明有些是業務性的東西,也必須在平臺內修改。因此最終的方法,還是遷移到dotnet上來。

 

引入want也要求目錄結構更加規範合理,我們現在的做法通常是這樣的:

src,   源代碼

Lib,庫

Test ,測試用例

Tool\want :want工具

Want.xml: want 任務文件

少用第三方控件。

 

採用svn exportsubversion的導出工具)的方法,好處很多,包括“lib目錄在svn內沒有副本”,“ 開發者也不能lib”,儘管“ 在客戶端可能會有多個lib副本”,不過現在這個缺點侷限於客戶端,而不會影響服務器

 

這篇文章涉及到以下知識點:

 

1.          TDDTest-driven development 測試驅動開發),我們的書架上就有。以後隨着trd和項目組合作的逐步深入,tdd的概念會越來越重要,進而成爲每個程序員的必備工具箱之一。Testcase,Mock都是TDD的重要概念。

2.          Delphi的自動化工具——Want 工具的使用。

3.          Testcase中的Mock的概念。


發佈了4 篇原創文章 · 獲贊 0 · 訪問量 2304
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章