這週花了幾天業餘時間開發了一個電話簿的小程式。
程序雖然很小,很簡單,也很醜陋,但是確實本人開發的第一個完整的可用的App。構思,編碼,簡單的測試,直到製成安裝包都是一個人完成。以前雖然也寫了不少C#和java程式碼(幾萬行吧),也寫過無數的C和C++的小玩意,但要嘛是只完成大專案的很小一部分,要嘛就是那種沒啥意思的「hello world!」測試演算法的可行性。
程序的基本資訊:
開發工具: VS2010;
有效代碼:500行左右;
架 構:.NET 4.0 Client Prifile;
寫,WPF 介面製作;
開發時間:約不到20小時吧,估計在15小時左右;
以下是一些截圖:
介面雖然是小程序還是總結了一些經驗,記下來,以後說不定用得上。 1. 一定要防止貪多求全,貪多吃不下的狀況。上次的坦克大戰就因為這個原因夭折了,又想界面很炫,又想結構新穎,還想使用沒有過的新技術,結果只有死路一條。這次要謹記在心,功能能簡化就簡化,介面也簡單到極點,終於修得正果。
2. 先進行技術測試在進行實際開發,為了這個程序寫了三四的小程序測試關鍵技術和想法是否可行,完成之後才進行的開發。
3.分層分塊開發,最後進行組裝。確保每個層之間的獨立性,不僅方便開發也方便日後的維護與升級。資料邏輯與介面的分拆使得未來可以對介面或下層邏輯進行單獨的改進。在開發上層介面時,使用了一個TestData類,這個類別用一些欄位的static 方法提供了介面所需的假資料。在開發下層時又使用了一個console程式。等到兩個都差不多的時候才進行的組裝。
4.跑通優先,逐步求精。在最開始的時候,介面就是幾個歪歪扭扭的按鈕,在介面中間寫出介面名稱。點擊按鈕的結果就只有兩種,要嘛轉到另一個介面,要嘛彈出messagebox 顯示按鈕的名稱。先把所有的函數都寫出來,不急著實現,回傳個null 或是 new 的實例或是 testdata 中取出的假數據,等跑通之後,逐一實現。介面一點點的豐富,最後在調整位置大小那些無關緊要的東西。
5.自己做了個app始終弄不出安裝包來,後來重裝VS 才發現這個安裝包博大精深啊,什麼加密啊,安裝環境監測啊,用戶自訂安裝啊,回滾啊,安裝目錄選擇啊,安裝前校驗啊,資料壓縮啊,安裝進度追蹤啊,偵測以往版本修復或卸載啊...... 6.寫程式就是一個迭代,永遠達不到一個真值,只能在兩次迭代的結果相差一個足夠小量是停止,認為這是一個解 關於未來的改進(可能是很久以後的事情了): 1. 數據訪問還可以改進,可以考慮使用IQueryable 類型重複使用; 2. 介面有待改善 3. Controller 作用有待改善,BL去掉用多個Factory代替 可以考慮用一個通用的藉口隔離開,IDataAccess,factory只調用接口不調用數據訪問類,方便數據訪問擴展到多種不同的存儲方式 7. 導入導出 暫時就這麼多,到時候再加。 更多電話本小程式開發完成及感想相關文章請關注PHP中文網!