PowerShell編程中的一些命名規(guī)則參考
本文介紹PowerShell自定義函數(shù)在使用時(shí)的最佳實(shí)踐(Best Practices)。包括函數(shù)名的命名、可選參數(shù)、必選參數(shù)等。
PowerShell中的函數(shù)定義可以很簡單的使用一個(gè)“function <函數(shù)名>{函數(shù)體}”的形式去定義。但微軟推薦創(chuàng)建函數(shù)時(shí)遵循以下實(shí)踐規(guī)則。
1、函數(shù)名。
使用cmdlet的統(tǒng)一命令規(guī)則,即“動(dòng)詞-名詞”的形式。如Write-Host,表示輸出到主機(jī)。如果是獲取一個(gè)列表,不要使用List作為動(dòng)詞,建議使用Get,如Get-ChildItem。名詞部分用一個(gè)有意義的英文單詞,記得使用單數(shù),不要使用名詞的復(fù)數(shù)形式。如果要列出網(wǎng)卡的一個(gè)函數(shù),不要使用ListNetworkCards,而應(yīng)該使用Get-NetworkCard。這就是關(guān)于函數(shù)命名的最佳實(shí)踐。
2、公司前綴。
假定你寫一個(gè)Get-NetworkCard的函數(shù),洪哥也寫了同樣一個(gè)。那是不是很難區(qū)分誰是誰寫的?所以,微軟建議在函數(shù)名的名詞部分加上公司前綴,而不加公司前綴的函數(shù),我們一般可以理解為微軟發(fā)布的。這個(gè)公司前綴用編寫的兩到三個(gè)字母為宜,比如洪哥函數(shù)名可以命為Get-HGNetworkCard。這里洪哥的前綴用的HG,你的呢?
3、參數(shù)的命名要規(guī)范
參數(shù)要用有意義單詞,不要使用-PC作為參數(shù)名,你可以用-ComputerName取而代之。如果有時(shí)候需要一個(gè)文件路徑作為一個(gè)參數(shù),不要使用-File,因?yàn)橹复鷮?shí)在是太模糊了??梢允褂?Path,這樣更明確。雖然沒有官方給出一個(gè)標(biāo)準(zhǔn)的參數(shù)命名的列表,但我們應(yīng)該參照內(nèi)置(built-in)的cmdlets所用的那些參數(shù)名稱。這樣其他人使用時(shí)才更容易理解,對(duì)不對(duì)?
4、可選參數(shù)
為可選參數(shù)定義一個(gè)默認(rèn)值,這是一個(gè)很好的習(xí)慣。如果用戶不管這個(gè)參數(shù),那么這個(gè)參數(shù)也可以被處于已賦值狀態(tài)。
5、必選參數(shù)
雖然PowerShell中不要求定義函數(shù)參數(shù)時(shí)必須指定數(shù)據(jù)類型,但最佳實(shí)踐要求我們這樣做。如果我們指定了類型,那么用戶的輸入將被強(qiáng)制轉(zhuǎn)換為我們定義的數(shù)據(jù)類型,否則都會(huì)被當(dāng)作字符串來對(duì)待。
6、寫一些注釋來作為幫助說明
一個(gè)段函數(shù)給其他人,沒有注釋說明,別人很難看懂。即便是自己,不加注釋的代碼,時(shí)間過得久了,也不一定保證能看得懂,對(duì)不?
關(guān)于PowerShell函數(shù)使用的最佳實(shí)踐(Best Practices),本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
- 利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
- Shell編程的一些知識(shí)集合
- shell編程基礎(chǔ) 單引號(hào)和雙引號(hào)的區(qū)別
- 深入淺出Shell編程 Shell變量介紹
- 分享shell編程中的幾個(gè)小技巧
- shell編程基礎(chǔ)知識(shí)小結(jié)
- shift妙用之解決shell編程中的入?yún)栴}
- shell編程基礎(chǔ)之認(rèn)識(shí)與學(xué)習(xí)BASH
- Shell編程之Shell變量學(xué)習(xí)總結(jié)
- shell編程之實(shí)現(xiàn)windows回收站功能分享
- 讓代碼整潔、過程清晰的BASH Shell編程技巧
- Shell編程指南
相關(guān)文章
PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類型的例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類型的例子,這個(gè)方法可以很方便的使用參數(shù)集,而不用每次指定名稱,需要的朋友可以參考下2014-07-07
PowerShell中把IP轉(zhuǎn)換為長整形數(shù)字的方法
這篇文章主要介紹了PowerShell中把IP轉(zhuǎn)換為長整形數(shù)字的方法,本文通過自定義兩個(gè)過濾器實(shí)現(xiàn),需要的朋友可以參考下2014-08-08
PowerShell實(shí)現(xiàn)查詢打開某個(gè)文件的默認(rèn)應(yīng)用程序
這篇文章主要介紹了PowerShell實(shí)現(xiàn)查詢打開某個(gè)文件的默認(rèn)應(yīng)用程序,本文通過C#調(diào)用Windows API來實(shí)現(xiàn)這個(gè)需求,需要的朋友可以參考下2015-06-06
PowerShell小技巧之使用New-Module命令動(dòng)態(tài)創(chuàng)建對(duì)象
這篇文章主要介紹了在PowerShell中使用New-Module命令動(dòng)態(tài)創(chuàng)建對(duì)象,比New-Object高大上很多了吧2014-09-09
PowerShell腳本trap語句捕獲異常寫法實(shí)例
這篇文章主要介紹了PowerShell腳本trap語句捕獲異常寫法實(shí)例,包含幾個(gè)代碼實(shí)例,需要的朋友可以參考下2014-07-07
Windows Powershell Where-Object 條件過濾
本篇會(huì)對(duì)條件判斷進(jìn)行實(shí)際應(yīng)用。在管道中可以通過條件判斷過濾管道結(jié)果,Where-Object會(huì)對(duì)集合逐個(gè)過濾,將符合條件的結(jié)果保留。2014-10-10
PowerShell函數(shù)參數(shù)使用智能提示功能例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)使用智能提示功能例子,這個(gè)功能一般需要在PowerShell集成開發(fā)環(huán)境ISE中才會(huì)顯示智能提示,需要的朋友可以參考下2014-07-07

