易盛實習總結

由面向過程編程轉向面向對象編程

收穫

對變量作用域有了更深的瞭解,不在是簡單地寫全局變量,而是通過C++類的封裝機制,控制數據的作用範圍;通過仿真網關代碼中的UserRunner類繼承TThread類,覆蓋TThread類中的Run()方法實現一個線程,在外部通過UserRunner類所繼承TThread類的Start()方法啓動該線程;通過CTapServiceApi類的純虛函數,瞭解多態,即父類對象的指針可以調用子類的成員

遺憾

沒有仔細閱讀過TThread類的代碼,該類還提供鎖機制和信號量,自己沒有去看,損失啊

C++容器

收穫

學習了string,vector,queue等容器的使用

遺憾

也就僅僅是會用而已

回調函數機制

通過APIDemo初步認識了回調函數機制,CTapServiceSpi加深了對回調函數的理解:只需在代碼中設置回調,就可以等待異步數據的傳入,而主進程不用做任何附加的操作

學習使用vs2013

學習vs2013IDE的使用,新建C++ 項目,導入項目所需庫,通過類視圖觀察項目結構,通過調用層次結構查看函數的相互調用關係;學會調試C++ 項目,明白了調試的重要性與優勢:可以更清楚地瞭解代碼真實的執行流程,通過設置斷點觀察是否被觸發可以更快更準確地定位問題,遠遠優於機械地用打印的方法定位錯誤

Linux C++編程

學習Linux多線程編程,啓動線程,終止線程,學習使用NetBeans,在NetBeans上構建C++項目,向項目中導入so庫,添加庫目錄,添加編譯選項、Xshell鏈接遠程主機,手動檢查發送到遠程主機上的項目和本地項目是否一致,NetBeans調試C++ 項目;NetBeans代碼對齊;NetBeans代碼補全

網關服務模塊

在總線連接類的OnMessage方法的實現中,一開始並不理解爲何要加狀態判斷,並沒能領會到精髓,後來在此時過程中明白了,加上狀態判斷是多麼的明智,因爲總有一些意外情況出現,也就是說自己的代碼並不是在自己的可預測的環境中運行,應對各種突發事件都應有一個策略,不然只能等着陷入:修改代碼–>編譯代碼–>重啓程序的深坑;學習了類的層次結構,從管理類到功能實現類從高層到底層爲金子塔型

監控服務模塊

在做監控服務項目過程中,學習了CURL,在Linux環境下編譯CURL庫並使用,由於做了網關服務,在一些流程上更熟悉了,因此進度明顯比做網關服務快,基本完成了要求的功能,但是在數據統計、類結構設計上還是有待提高

整體總結

在仿真測試工具項目中,歷經撰寫需求文檔,編碼,測試單個類,測試模塊,代碼走查,項目聯調,詳細設計文檔,編寫測試用例等過程。體會到做項目和之前自己寫小程序有很大不同:自己寫小程序輸入是特定的,有嚴格要求的,所以只需關注算法實現;而做項目所面臨的輸入環境真可謂千變萬化,作爲編程人員必須考慮到各種突發情況,並做出應對,而不僅僅是考慮算法的實現。當然,一個高效率的算法在這兩種情況下都是必須的。重新認識了編程。

接下來的學習計劃

學習設計模式,書籍《大話設計模式》《MySQL必知必會》《計算機程序的構造和解釋》《編譯原理(龍書)》

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