我遇到了在PowerShell(动词 - 名词)中找到任何反映编程的适当命名约定的问题:
IsApple() {
return Fruit.Type == Fruits.Apple
}
PS中有这样的惯例吗?
我没有找到任何以'是'或'有'作为动词的cmdlet。我见过人们使用的是例如check-fruit
,但我对这种函数名称不满意。它隐含地暗示,如果我给它一个水果,它会告诉我它是什么类型的水果。
当然,这是一个足够简单的案例,可能不值得单独使用,但有时你会执行更复杂的检查,包括RegEx,AD查询等,只回答'是'或'没有'问题,并在其上构建您的进一步脚本执行。
将这些检查提取到单独的函数似乎没有道理,但是你要使用的命名约定是什么,告诉读者(最好不要去'Is-like'函数的主体)什么我正在检查,就像我立即知道的那样,在查看IsApple()
我问的原因是我没有看到is-apple
has-driver
等形式的任何cmdlet。
答案 0 :(得分:6)
在PowerShell中,有一个函数的批准动词。它们因版本而异,但您可以使用Get-Verb
cmdlet。
至于你的情况,我可以想到Assert-IsApple
或Test-IsApple
供参考,这是link to the official list of verbs for PowerShell 2.0。它有点旧,但应该仍然有效。