Powershell:bool函数的命名约定

时间:2016-10-07 09:05:12

标签: powershell boolean naming-conventions

我遇到了在PowerShell(动词 - 名词)中找到任何反映编程的适当命名约定的问题:

IsApple() {
    return Fruit.Type == Fruits.Apple
}

PS中有这样的惯例吗?

我没有找到任何以'是'或'有'作为动词的c​​mdlet。我见过人们使用的是例如check-fruit,但我对这种函数名称不满意。它隐含地暗示,如果我给它一个水果,它会告诉我它是什么类型的水果。

当然,这是一个足够简单的案例,可能不值得单独使用,但有时你会执行更复杂的检查,包括RegEx,AD查询等,只回答'是'或'没有'问题,并在其上构建您的进一步脚本执行。

将这些检查提取到单独的函数似乎没有道理,但是你要使用的命名约定是什么,告诉读者(最好不要去'Is-like'函数的主体)什么我正在检查,就像我立即知道的那样,在查看IsApple()

时我正在检查

我问的原因是我没有看到is-apple has-driver等形式的任何cmdlet。

1 个答案:

答案 0 :(得分:6)

在PowerShell中,有一个函数的批准动词。它们因版本而异,但您可以使用Get-Verb cmdlet。

至于你的情况,我可以想到Assert-IsAppleTest-IsApple

供参考,这是link to the official list of verbs for PowerShell 2.0。它有点旧,但应该仍然有效。