前言
寫了多年的LabVIEW程序,你是否面臨這樣的問題
總是在做一些重復的工作,感覺很沒有意思;
總在不停的寫
代碼,做類似的控件,實現相同的功能,絲毫沒有成就感;
總在天加班,沒有時間去提高自己;
你也知道簡單的重復並不能帶來效率的提高,卻不知道走向何方,無奈而又焦急着?
小黑今天繼續帶你聊一聊LabVIEW吸星大法,讓你在工作中越來越有效率,體會一切皆可掌控的妙感~
記住,我們的口號是 : 告別重復造車,你的就是我的,萬物皆為我所用~
引言
上一篇,我介紹UI控件的復用。通過UI Control的個性化自定義,可以在前面板層級實現復用和積累。今天介紹函數選板層級的復用,通過對個性函數選板的工作自定義,實現個人函數庫的打造。
下面幾張圖貼出來的是小黑專屬的函數選板,如果你學會了這招吸星大法,也將擁有屬於自己的庫函數。
Elton Architecture
Foder API
TestStand API
Quick Drop API
UI API
什么是函數庫的復用?
函數庫的復用指的是將工作經驗積累,固化為LabVIEW常用函數,實現工作經驗在函數上的展現。
為什么要進行函數庫復用?
大多數工程師都處在一個特定領域,較長時間做着某一個領域的測控系統。
通過
努力工作,偉大的工程師們會經歷大大小小的坑,形成每個人特有的工作經驗。這些工作經驗促使工程師們遇到相似問題時可以順利解決,然而,大多數時候,經驗留在了的腦海中,很難去傳授或者分享。
其實,只要對的這些經驗稍加總結,每個人都可以將自己的經驗以文件或者代碼的形式表達,從而把腦袋中的知識固化,形成一套屬於自己的工具。
LabVIEW工程師通過總結抽象代碼工作,形成特定函數庫,這樣做會將重復編碼降低到最少,抽出
更多
時間進行更有創造力的活動。
誰來進行函數庫復用?
無論你是還未畢業的學生,或者是出入職場的菜鳥,還是久經職場的工程師,函數代碼的復用都應當不停的進行,畢竟,
代碼復用對於一個軟件工程師的誘惑還是非常大的。如果你還沒有復用過代碼,或者復用僅僅是從另一個項目中扒一些代碼出來使用,那么函數庫復用的這套方法可以讓你輕松積累。無論是對自己的工作經驗總結還是與團隊小組分享,這些內容都將獲益匪淺。
什么時候進行函數庫復用呢?
函數復用主要在兩大環節使用,即總結階段和使用階段。
一般在項目
結尾階段,無論代碼寫的怎樣我們都會獲得項目發起人的驗收。但軟件工程師的復用工作才剛剛開始。
通過分析整個軟件在設計上的成功和失敗之處,總結當前項目的復用點,將項目中有價值的VI和庫函數重新整理設計,形成自己的庫函數並添加到屬於自己的函數選板上。隨着時間的推移,函數功能愈加豐富,做項目也會更加得心應手。
總結出來的代碼如果沒有經過審核,那代碼的穩定性和可靠性仍需驗證。在新項目開啟的時候,使用上一個項目所總結的代碼,去驗證迭代,不斷升級自己的用戶函數庫,幾輪之后,你將形成屬於自己的代碼風格。
怎么進行函數庫復用呢?
核心:總結歸納,吸收利用!
吸星大法之總結歸納
總結歸納說起來容易,做起來卻是頗有難度。小黑也不知道什么樣的方法是最好的,這里僅僅介紹一下我是如何做的。
在剛開始進行函數庫復用的時候,小黑嚴格遵循歸納總結的方法,在項目完成后單獨抽一段時間去分析自己的代碼,並形成了一套API庫。
后來出於事后總結耗時間等原因,小黑在項目創建的過程就開始考慮部分復用問題。在設計代碼模塊的時候,
提前問自己:這個代碼模塊是否有復用價值.,是否可以獨立解耦。
如果回答有,將其單獨放置於一個文件夾中,並且對文件的使用采用統一的命名規范,盡可能的將代碼與其他模塊解耦,減少或者固化特定的接口,最終實現復制文件夾即可復用代碼的效果。下圖即時小黑整理的一些可復用模塊僅供參考。
吸星大法之吸收利用
與UI控件復用類似,為了避免重復造車,你需要去各個論壇或者VIPM狩獵自己可用的優秀的工具包。一旦找到心儀的獵物,馬上將這些工具包Down下來,重新整理這些工具包,與自己的工作需求與代碼風格結合,改裝到自己的庫函數中。這里需要強調的是,下載來的工具包可能功能豐富,而你只用到里面很小的一部分,摘取出來,而不是使用整個工具包,這將使得你有更大的動力去使用他們。
另外,如果說你不知道如何進行函數復用,不妨好好看看優秀的復用是怎么做的,別的不說,只談OpenG工具,我們就可從中學習到復用的很多技巧。下面這個選板是OpenG的主選板,可以借鑒其分類思路和圖標設計思路。
OpenG工具包通過對LabVIEW常用功能增強,實現了許多功能函數,從文件夾層級,可以了解到分類標准,吸收過來,也建立一套屬於自己的API庫。
從VI命名可以學習到一些命名的方式和規則,有助於我們寫出工整的代碼
我們會看到很多類似OpenG的工具包,這些工具包一定要妥善利用,除了直接下載使用,你可以在其功能上重新封裝定義,形成一套自己用得順手的工具,從而進一步拓展工具包在特定領域的積累。下圖所示是小編一部分樹形工具包的范例,在傳統的Tree工具包上,根據特定的Tree操作,可以拓展自己在特定UI操作中的工具包。
后記
LabVIEW吸星大法,將你的經驗積淀,吸收他人所長,形成屬於自己的知識寶庫。本文一樣沒有仔細展開如何去實現,只是從思想上引入了函數復用的概念,希望可以對大家重視經驗在函數復用上的積累。
如果本文對你有所觸動,真心希望你能去嘗試嘗試,體會一下積累的價值,告別盲目的加班,讓工作更加有效率~
術業有專攻,聞道有先后,在知識大門前,我們可以略窺一二,卻不知天外有天,人外有人。保持一顆謙遜的心,專注於技術的提高,精益求精~
-----謹以此文獻給落入LabVIEW坑卻仍不放棄的各位,我們不是專業的軟件工程師,卻有一顆上進的心。



