【发布时间】:2013-02-22 15:03:33
【问题描述】:
这不是编程问题,而是更多设计问题。
假设数据存储在 json 中。
例如,Get-Person "John" | Get-Employer 或 Get-Employer -Person "John"
两种方式都返回约翰的雇主,前一种使用管道,后一种使用内联参数。我有时会感到困惑:每个人的优点和缺点是什么?你们在设计的时候,你喜欢使用它们中的每一个吗?
对我来说,我想出使用管道的唯一原因是,如果需要评估参数的值,它可以节省我们使用变量的时间。
有人对这个问题也有任何想法吗?
【问题讨论】:
-
如前所述,好的功能设计可以兼顾两者,让用户自己选择自己喜欢的。仅供参考,您的示例并不相同。在第一个中,您传递一个对象(我想象的是“john”这个人的“person”对象),而第二个只取他的名字。
"John" | Get-Employer将是正确的选择 -
我同意@Graimer。作为 cmdlet 的使用者,我想要两种方式 - 让我在需要时传入一个值/集合,或者从另一个来源传入一个集合(或单个值)。每种方法都会在各种情况下派上用场。
标签: powershell powershell-cmdlet