從畢業到現在已經4個多年頭,在這個公司做的事情不能說一點鍛鍊的意義也沒有,只是指揮者沒智慧型,只是消耗員工的青春時光,所以打工的感覺累的很。
最初是讓寫一些單獨模組的程式,比如系統啟動指令碼,晶元驅動,bsp,公升級模組等,後來直接丟過來乙個產品工程**讓我維護。說實話,這個責任是蠻大的,我自己也覺得能學到東西,只是沒想到工程**太亂,而且除了從開源專案中copy來的**可以看看,其它部分還只是中級c程式設計師的程式設計水平。最初給我的工程**是乙個剛開發出來的alpha版,但沒多久就開始要求作出各種各樣的功能定製的系列產品,這個就是我的版本維護工作的入門。
入門的版本維護方式是每個產品要求對應乙個套檔案,不同的版本對應不同的目錄,編譯時進入不同的目錄編譯,因為還是alpha版,難免有各種各樣的問題,於是改動**同樣也是個「系列」工作,折磨了一段時間,開始學會用批處理檔案來完成這類重複的操作。
那時不是不會寫makefile,只是開發環境的編譯環境還不熟練,痛定思痛,終於把開發環境的編譯環境弄了個明白,於是進入版本維護的新階段,此時可以通過批處理設定環境變數來影響工程**的makefile編譯條件,從而編譯出不同的產品韌體,於是將系列產品的**整理成一套,這種方式其實可以滿足嵌入式開發的大多數的要求,算是版本開發和維護的中級水平吧。
我以前的方式是通過簡單的編譯開關來實現產品功能的區分,現在我會採用把應用程式的功能劃分不同的部分,把需要根據客戶需求修改的部分定義好介面,然後在應用程式核心排程模組中呼叫這些介面,而以後版本維護工作就是選擇載入客戶需求的那部分。
軟體開發的一點感想
這兩天,遇到工作中的兩個小問題,加深了我以前對軟體開發的看法。b 乙個是關於firefox崩潰問題的處理。b 其實,現在最難的就是 b 問題發生在 b 根據現象,我覺得問題應該是發生在firefox初始化時,需要連線到網路,譬如檢測firefox最新版。在定位問題後,我用firefox的安全模式 f...
軟體設計開發的一點感悟
做的基於silverlight bingmap三維高校地理資訊系統和三維節能系統,系統在頭半年裡功能基本實現,在開發的過程中解決了很多技術難題,包括bingmap系統,bingmap離線開發。對silverlight知識學習,對linq to entity和wcf ria service的學習。學會...
我對軟體開發的一點思考
但凡是搞 的 對軟體架構 設計模式 xp程式設計 極限程式設計 或是敏捷開發 重構 這些軟體開發的思想或方法都不陌生 但是它們之間究竟有什麼聯絡?在實際的開發過程應該如何做?才能構建乙個好的程式 簡單來說 開發乙個軟體的常規做法是 先設計整個系統的總體架構 架構包含一些 層 的思想 希望你了解 層 ...