本文介紹PowerShell自定義函數在使用時的最佳實踐(Best Practices)。包括函數名的命名、可選參數、必選參數等。
PowerShell中的函數定義可以很簡單的使用一個“function <函數名>{函數體}”的形式去定義。但微軟推薦創建函數時遵循以下實踐規則。
1、函數名。
使用cmdlet的統一命令規則,即“動詞-名詞”的形式。如Write-Host,表示輸出到主機。如果是獲取一個列表,不要使用List作為動詞,建議使用Get,如Get-ChildItem。名詞部分用一個有意義的英文單詞,記得使用單數,不要使用名詞的復數形式。如果要列出網卡的一個函數,不要使用ListNetworkCards,而應該使用Get-NetworkCard。這就是關于函數命名的最佳實踐。
2、公司前綴。
假定你寫一個Get-NetworkCard的函數,洪哥也寫了同樣一個。那是不是很難區分誰是誰寫的?所以,微軟建議在函數名的名詞部分加上公司前綴,而不加公司前綴的函數,我們一般可以理解為微軟發布的。這個公司前綴用編寫的兩到三個字母為宜,比如洪哥函數名可以命為Get-HGNetworkCard。這里洪哥的前綴用的HG,你的呢?
3、參數的命名要規范
參數要用有意義單詞,不要使用-PC作為參數名,你可以用-ComputerName取而代之。如果有時候需要一個文件路徑作為一個參數,不要使用-File,因為指代實在是太模糊了??梢允褂?Path,這樣更明確。雖然沒有官方給出一個標準的參數命名的列表,但我們應該參照內置(built-in)的cmdlets所用的那些參數名稱。這樣其他人使用時才更容易理解,對不對?
4、可選參數
為可選參數定義一個默認值,這是一個很好的習慣。如果用戶不管這個參數,那么這個參數也可以被處于已賦值狀態。
5、必選參數
雖然PowerShell中不要求定義函數參數時必須指定數據類型,但最佳實踐要求我們這樣做。如果我們指定了類型,那么用戶的輸入將被強制轉換為我們定義的數據類型,否則都會被當作字符串來對待。
6、寫一些注釋來作為幫助說明
一個段函數給其他人,沒有注釋說明,別人很難看懂。即便是自己,不加注釋的代碼,時間過得久了,也不一定保證能看得懂,對不?
關于PowerShell函數使用的最佳實踐(Best Practices),本文就介紹這么多,希望對您有所幫助,謝謝!
新聞熱點
疑難解答
圖片精選