標籤:介面設計 影響 好的 基礎 公司 size 設計模式 驗證過 view
前言
近期使用C++有了一些心得很感悟,這裡整理一下。
心得1
如果只會使用LabVIEW寫程式,還想要進一步深入程式設計,一定要學習一門文本語言。
什麼是會用LabVIEW
會用是個比較籠統的概念。
- 只要能寫一個簡單啟動並執行程式叫做會用
- 能寫稍微複雜的儀器控製程序叫會用
- 能寫大中型測控程式也叫會用
這裡我認為至少能寫稍微複雜的多個儀器聯合控製程序,完成基本的測控系統應用叫做會用LabVIEW,用時間評估來說,使用LabVIEW作為主要程式設計語言至少工作2年以上。
什麼是深入程式設計
寫LabVIEW程式本身比較簡單,大量的工作只是去學習現有的庫如何去使用,然後整合到自己的工作需求中來,只要瞭解了基本的問題解決方案,很多人都可以勝任常規的編程任務。
所以,隨著項目需求的演化,勢必程式會越來越複雜,如何有效完成任務,如何讓程式穩定可靠,如何容易拓展,這些都是程式架構考慮的事情。
如果你已經掌握了基本的LabVIEW編程功底,工作中大部分工作內容已經開始接近重複的編碼,那麼深入程式設計也許就是下一步考慮的事情。
為什麼學一個文本語言
LabVIEW程式設計的架構從簡單的狀態機器到稍微複雜的生產者消費者,從物件導向到ActorFrameWork。效率上講,更進階的架構會讓程式開發變得相對容易,也確實提高了可拓展性和維護性。
然而,無論如何變化,本質上還是沒有擺脫文法的限制,尤其是對物件導向的設計,圖形化的編程本身會限制思考效率,很多物件導向思想的設計僅僅在文本編程才會凸顯設計優勢。
我之前學習LabVIEW物件導向一直很慢,以為是自己比較笨,抽象思維很差,後來用文本學習後發現很多不理解的東西換個語言去理解很容易。編碼方法和思維體系不同,真的會影響學習效率。
設計模式是物件導向設計中最簡單的一環,所以GOF中也會提到設計模式是可複用程式設計基礎….基礎….真的只是基礎…
心得2
近期在做產線測試的時候,新產品匯入會對原有測試程式產生衝擊。
而使用物件導向的程式介面設計+簡單原廠模式極大的加快了程式開發。雖然各種控制指令和操作方式均發生了變化,但適應新產品到秀跟的程式碼完成測試只用了2個小時左右,真正體會到思想指導實踐帶來的效率提高。
心得3
在使用LabVIEW程式設計時,有一個設計思想是“一切皆可配置”,但是由於文法限制,這一想法一直實現的比較牽強。
- 使用資料結構直接儲存設定檔會遇到設定檔的拓展問題
- 使用Config Read來扯線也是比較噁心的事情,重複的編碼效率非常低
- 後來使用了AQ JSAON儲存好了很多,不過代碼就相對量比較大了
用C++後,讀寫設定檔只是一句話的事情,所以一些皆可配置變得簡單了許多,感覺還是很不錯。
心得4
有人說LabVIEW編程簡單,其他程式設計語言複雜,經曆過兩者之後,發現
- LabVIEW測控程式簡單,是因為有豐富的庫,如果公司有驗證過的文本庫,編碼效率不比LabVIEW低
- LabVIEW文法簡單,是因為動態語言,與其相近的Python,MATLAB等語言也一樣簡單
- LabVIEW編寫UI介面簡單,是因為UI庫相對豐富一些,C#裡面有更多更專業的庫,一樣簡單
當然,LabVIEW作為一些優點的集合,必然在一些情境下更加具有優勢,也必然在另一些場合劣勢明顯。
文本編程與圖形化編程各有優劣
- 如果做科研探索,原型驗證,首推LabVIEW
- 如果做程式架構學習,換文本語言學習,效率和效果都會翻倍
總結
設計思想跟語言沒有關係,學習設計思想卻跟語言有很大關係
近期一直在充電學習,所以更新不是那麼頻繁…講真的,學習的感覺蠻好的,工作後惰性越來越強,找點新東西學習來克服惰性是不錯的方法。
來自為知筆記(Wiz)
用C++寫程式的一些感悟