本文介绍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),本文就介绍这么多,希望对您有所帮助,谢谢!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]