函数参数应该命名为复数还是单数对象?

问题描述 投票:0回答:1

这可能是一个愚蠢的问题,所以请原谅我。 我使用过许多 cmdlet,它们都有一个被命名为单个对象的参数,但它接受多个对象。

这对我来说是有意义的,因为参数被单独命名。 例如:

Process-VM -VMName

但是,我正在编写自己的函数,可以执行相同的操作;采用单一对象或集合,但我在单一命名参数的语义上遇到了麻烦。

例如,我的函数接受一个或多个虚拟机。 通常对于这样的集合,我会使用 foreach 循环来枚举它们,它看起来像

foreach ($vm in $VMNames)

但是如果我单独写参数,它会看起来像:

foreach ($vm in $VMName)

为了使 foreach 对我有意义,我的参数必须以复数形式命名,但是当我传递单个对象时,函数调用对我来说看起来很愚蠢。 Ofc 这也不同于其他众所周知的 cmdlet。

Process-VM -VMNames "myvm"

我觉得这个问题很愚蠢,但我很好奇像 Microsoft 及其 cmdlet 这样的人是如何处理这个问题的。

蒂亚

powershell function semantics naming plural
1个回答
0
投票

在您的情况下,使用复数是合乎逻辑的,列表中的单个条目是一种特殊情况。 IOW 你的 vmnames 数组仍然是一个数组,只是一个只有 1 个元素的数组。

© www.soinside.com 2019 - 2024. All rights reserved.