何时值得创建辅助函数

时间:2015-04-22 12:37:33

标签: c# .net powershell namespaces wmi

首先,虽然问题是围绕PowerShell进行的,但问题本身与PowerShell无关,它是一个普遍的问题编程问题。

我正在创建一些PowerShell脚本,我喜欢将所有内容分成功能和模块,所以如果我稍后再次需要它,我可以将其移植,但我也可以分享它社区。

大多数时候,很容易决定是否创建辅助函数,但有时候不是很多。我现在正面对其中一个问题。

我正在与WMI合作,并注意到没有'逻辑'检索现有WMI名称空间列表(指定名称空间的子项)的方法。

我想,如果我可以打电话,那就不好了。

Get-CimNamespace -Namespace root\cimv2

获取root \ cimv2的子命名空间列表?它也非常简单,其中存在问题......

Get-CimNamespace -Namespace root\cimv2所做的一切都是...... Get-CimInstance -Class __Namespace -Namespace root\cimv2

所以有人要问,这样一个功能的优点是什么?我能看到一对夫妇:

  • 使用Get-Cim 实例来检索命名空间听起来不太合乎逻辑。毕竟,一个实例属于一个类,一个类属于命名空间,所以它有点像使用Get-CimInstance来获取父母的父类。它不是,但有点像。
  • 拥有辅助功能意味着用户不必知道在类__Namespace的实例下保存名称空间。它只是有效。
  • 提供完整性。

但是,请记住Get-CimInstance还有其他一些可能的参数,包括过滤器,查询远程计算机的能力等等......只有{{1}这样的功能才真正值得...如果它与直接调用Get-CimNamespace一样灵活。这意味着接受与Get-CimInstance一样多的参数,这意味着拥有它拥有的所有参数集等等。

为了节省必须在Get-CimInstance上撰写-Class __Namespace的人,似乎需要做很多工作才能提出这样的问题......这值得吗?

什么时候划线?是否值得创建一个只能在Get-CimInstance执行时检索类属性的函数?

什么定义了什么时候创造这样的东西是值得的。

0 个答案:

没有答案