- 2013-09-29国务院近日印发了上海自由贸易试验区总体方案,自贸区...
- 2013-09-29移动医疗大潮袭来,看着是肉 咬下去是骨头。
- 2013-09-28安卓阵营集体遭360洗劫,华为三星步步高悉数中枪
- 2013-09-28小米MIUI团队声明称应用商店内全线下架360产品
- 2013-09-25阿里巴巴与云存储应用酷盘的收购谈判行已结束,阿里巴...
- 2013-09-25苹果称其全新Touch ID指纹扫描安全系统可以“十分安全...
- 2013-09-24上海自贸区不设防火墙 脸谱和推特等解禁
- 2013-09-24Fairfax Financial计划收购黑莓:每股9美元 总价47亿美...
- 2013-09-24消息称苏宁洽购PPTV进入尾声 金额约为4亿美元
- 2013-09-238月25日凌晨,中国.CN域名解析出现大规模解析故障,攻击...
PowerShell函数的基本指南
发表于:2013-09-08|
次阅读|
作者:藕码网
摘要:PowerShell函数的基本指南
虽然Windows PowerShell能以多种方式给管理员带来好处,它的扩展性可能是它最重要的属性。这包括PowerShell函数,这些小且简
单的任务工具由函数框内的命令组成。运用函数使得调试更简单,也通过让你可以将函数从一个脚本转向另一个来使编写的代码更少。
什么时候PowerShell函数最有用呢?以下是你需要记住的三个基本指南:
如果你一再地重复相同的代码块,例如在电脑上检查多个服务的代码块。在这里,你可以运用函数来执行检查,在所有服务器上运行它,也可以更高效地检测到代码错误。
如果你在其它脚本中运用一个专用代码。例如,如果你编写一个递归解析块,你会想要再利用该逻辑。
如果该代码在脚本之外有用。这和之前的指南有些许不同,好的例子就是ping-server函数。
一般说来,编写代码时考虑再利用常常是个不错的想法,尤其是函数就有再利用的设计时。因此,除违约之外,要考虑函数怎么用、用在哪里能帮助建立它们本该有的参数,这一点很重要。
考虑再利用时,最好是尽最大可能地考虑周全并避免硬编码。此外,编写函数时所有数据都应该通过参数。虽然为参数使用缺省值也说得通,你应该让函数 调用者无须修改函数就能指定其它选项。这也是黑箱测试迟早有用的地方,它可以在不同的环境中确定一条函数的可用性。就这一点而言,考虑原始函数的所有变更 以及这些变更如何影响脚本整体很重要。举例来说,在PowerShell V1中,我常常试着用我自己的转换器执行verbose和whatif命令。在 V2中,这个问题已经解决了。
设计函数时你还应该考虑回环和处理逻辑。例如,如果你有处理服务器的逻辑,那么你应该在函数外部维持该逻辑。没有必要为所有函数调用执行它。另一方面,如果你拥有的逻辑明显是函数域,那么你不需要移除它,只要应用调用脚本就行了。
优秀PowerShell函数的特性是什么?
好的函数都是为特定需求而生然后被弃用,但是所有的好函数都有一些共性。以下是其中的一些特性:
优秀PowerShell函数特性一:定义良好的参数
一条函数需要非常清楚它预期要返回什么数据。你可以通过应用指定参数来完成该过程。如果你显然有指定值要处理,那么确保它在函数中清晰。完成此过程的一个好方法是通过向要求的$ThisParam分配参数的缺省值。
优秀PowerShell函数特性二:一致性和预期输出
你不用猜测函数中会有什么数据,这一点很关键,你宁愿返回的数据是预期的。设计函数所说它返回一种或多种简单数据类型,如线型、日期时间型或布尔运算(Boolean)。但注意,不要用编写输出编写的意外数据或变量中没有抓取的数据污染了这个数据流。
优秀PowerShell函数特性三:独立性
该函数不应该依赖于来自脚本的任何变量。如果这条函数需要从外部输出,把它变成一个参数。
优秀PowerShell函数特性四:可移植性
一条函数最简单重要的职能就是可移植性。如果你没有计划要再利用该代码,你也可以编写内联的代码。可移植性的关键因素是确保你的可变名称不会与调用函数冲突。就这一点而言,你可以用$my或$func给它们做序。
什么时候PowerShell函数最有用呢?以下是你需要记住的三个基本指南:
如果你一再地重复相同的代码块,例如在电脑上检查多个服务的代码块。在这里,你可以运用函数来执行检查,在所有服务器上运行它,也可以更高效地检测到代码错误。
如果你在其它脚本中运用一个专用代码。例如,如果你编写一个递归解析块,你会想要再利用该逻辑。
如果该代码在脚本之外有用。这和之前的指南有些许不同,好的例子就是ping-server函数。
一般说来,编写代码时考虑再利用常常是个不错的想法,尤其是函数就有再利用的设计时。因此,除违约之外,要考虑函数怎么用、用在哪里能帮助建立它们本该有的参数,这一点很重要。
考虑再利用时,最好是尽最大可能地考虑周全并避免硬编码。此外,编写函数时所有数据都应该通过参数。虽然为参数使用缺省值也说得通,你应该让函数 调用者无须修改函数就能指定其它选项。这也是黑箱测试迟早有用的地方,它可以在不同的环境中确定一条函数的可用性。就这一点而言,考虑原始函数的所有变更 以及这些变更如何影响脚本整体很重要。举例来说,在PowerShell V1中,我常常试着用我自己的转换器执行verbose和whatif命令。在 V2中,这个问题已经解决了。
设计函数时你还应该考虑回环和处理逻辑。例如,如果你有处理服务器的逻辑,那么你应该在函数外部维持该逻辑。没有必要为所有函数调用执行它。另一方面,如果你拥有的逻辑明显是函数域,那么你不需要移除它,只要应用调用脚本就行了。
优秀PowerShell函数的特性是什么?
好的函数都是为特定需求而生然后被弃用,但是所有的好函数都有一些共性。以下是其中的一些特性:
优秀PowerShell函数特性一:定义良好的参数
一条函数需要非常清楚它预期要返回什么数据。你可以通过应用指定参数来完成该过程。如果你显然有指定值要处理,那么确保它在函数中清晰。完成此过程的一个好方法是通过向要求的$ThisParam分配参数的缺省值。
优秀PowerShell函数特性二:一致性和预期输出
你不用猜测函数中会有什么数据,这一点很关键,你宁愿返回的数据是预期的。设计函数所说它返回一种或多种简单数据类型,如线型、日期时间型或布尔运算(Boolean)。但注意,不要用编写输出编写的意外数据或变量中没有抓取的数据污染了这个数据流。
优秀PowerShell函数特性三:独立性
该函数不应该依赖于来自脚本的任何变量。如果这条函数需要从外部输出,把它变成一个参数。
优秀PowerShell函数特性四:可移植性
一条函数最简单重要的职能就是可移植性。如果你没有计划要再利用该代码,你也可以编写内联的代码。可移植性的关键因素是确保你的可变名称不会与调用函数冲突。就这一点而言,你可以用$my或$func给它们做序。
注:本站部分信息可能源于互联网分享,如有侵权,请告知,我们将及时删除!
上一篇:windows无损分区 下一篇:PowerShell命令输出的控制方法
- 用户评论
- 相关文章
-
最新评论
-
暂无关联文章
推荐文章
-
1
使用IIS+Resin来配置J...
本文介绍使用IIS+Resin来配置JSP的运行环境... -
2
MYSQL的主要参数设置(...
MYSQL的主要参数设置(优化) -
3
Linux服务器安全小技巧...
Linux 服务器安全小技巧 -
4
批量修改计算机名
批量修改计算机名 -
5
Linux下安装apache
Linux下安装apache -
6
Windows日志NTFS错误
Windows日志NTFS错误
热门文章榜