jal*_*plo 4 powershell code-organization
我最近参与了一个我们必须使用PowerShell脚本部署的项目.我们在不同的文件中编写了2000行或多或少的代码.其中一些专门用于常用方法,但是在为每个方法编码500行之后,很难找到使用什么方法或者是否有必要实施新方法.
所以,我的问题是关于实现powershell函数库的最佳方法是什么:
有一些文件包含大量代码比拥有大量代码行的文件更好吗?
@MikeShepard的回答在概念上是要走的路.以下是一些实现方法:
我有多种语言的开源库.正如Mike Shepard建议的那样,我的PowerShell API首先将顶层组织成不同的主题.
对于具有多个函数的主题(模块)(例如SvnSupport),每个公共函数都在一个单独的文件中,其中包含私有支持函数和变量,从而增加了内聚力并减少了耦合.
要将主题(模块)中的函数集合包装在一起,您可以单独枚举它们(通过点源或包含在清单中,如@Thomas Lee建议的那样).但我最喜欢的是我从Scott Muc那里学到的一种技术.使用以下代码作为.psm1文件的全部内容,并将每个其他函数放在同一目录中的单独.ps1文件中.
Resolve-Path $PSScriptRoot\*.ps1 |
? { -not ($_.ProviderPath.Contains(".Tests.")) } |
% { . $_.ProviderPath }
Run Code Online (Sandbox Code Playgroud)
关于功能和模块实际上还有很多话要说; 有兴趣的读者可能会发现我的文章" 深入了解兔子洞:在Simple-Talk.com上发布的PowerShell模块和封装 "是一个有用的起点.
| 归档时间: |
|
| 查看次数: |
6920 次 |
| 最近记录: |