Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 最佳实践:添加参数只是为了完成参数?_Powershell - Fatal编程技术网

Powershell 最佳实践:添加参数只是为了完成参数?

Powershell 最佳实践:添加参数只是为了完成参数?,powershell,Powershell,我有一个带有几个参数的cmdlet 为了实现特定参数的参数完成,最好有一个额外的参数。这将是它的唯一目的,否则它将与cmdlet无关 只需将其作为可选参数使用就足够简单了。但出于以下几个原因,我不愿这么做: 对参数表不必要的污染 为了教育最终用户,我必须在帮助文件中输入他们必须提供的第一个参数,以便从中受益。本质是告诉用户“好吧,这个cmdlet是这样工作的,但是这样使用它可以让您的生活更轻松” 我可以说得更具体一点。所需参数之一是专有数据库的字段名。我的伪参数将提供表名,以便fieldna

我有一个带有几个参数的cmdlet

为了实现特定参数的参数完成,最好有一个额外的参数。这将是它的唯一目的,否则它将与cmdlet无关

只需将其作为可选参数使用就足够简单了。但出于以下几个原因,我不愿这么做:

  • 对参数表不必要的污染
  • 为了教育最终用户,我必须在帮助文件中输入他们必须提供的第一个参数,以便从中受益。本质是告诉用户“好吧,这个cmdlet是这样工作的,但是这样使用它可以让您的生活更轻松”
我可以说得更具体一点。所需参数之一是专有数据库的字段名。我的伪参数将提供表名,以便fieldname参数值可以自动完成

因此,我的选择是:

My-CmdLet -FieldName "no idea, would have to look it up in 3rd party application"

我的问题是:我应该实现这样一个“helper”参数吗?或者它会违反最佳实践吗?

,但没有任何人提供单一来源的权威指南,因为英国石油公司往往会固执己见。您可以通读所有内容,选择适合您和您的组织/企业标准和实践的内容,而忽略其他内容。总而言之,只有你的组织/企业的标准才重要。遵循任何外部指导,都可能违反这些原则。
My-CmdLet -HelfulButUnneededTableName "there is autocompletion for this" -FieldName "this can now also be autocompleted"