有人告诉我使用 powershell 脚本编写多个操作。诸如 Apppool 创建、SQL 更新、文件编辑等操作。
我打算第一次用脚本写这么大的东西。
因此,我想在编写它们之前了解最佳实践。
将所有函数写在一个文件中是一个好习惯吗?
我在想至少 10 个我可能需要编写的函数。假设每个函数可能有 10 行代码。
有人告诉我使用 powershell 脚本编写多个操作。诸如 Apppool 创建、SQL 更新、文件编辑等操作。
我打算第一次用脚本写这么大的东西。
因此,我想在编写它们之前了解最佳实践。
将所有函数写在一个文件中是一个好习惯吗?
我在想至少 10 个我可能需要编写的函数。假设每个函数可能有 10 行代码。
考虑模块:最简单的格式是清单 ( .psd1
) 和单个脚本文件 ( .psm1
),其中包含所有函数、别名……模块导出(以及任何内部帮助程序)。
在这种情况下,您显然是将多个连接的函数放在一个文件中。即使大部分代码只是点源到脚本模块中,它们在逻辑上仍然存在于一个实体中。
另一方面,在您的路径中使用脚本来执行而无需事先加载会倾向于(根据阿德里亚诺对问题的评论)支持一个功能(在脚本范围而不是function
语句)是有意义的。
因此:没有一个“好的做法”:这完全取决于具体情况。
务实,真理来自行动,不来自言辞;O)
所以开始,从头开始:
1)您想做的事情是否存在于互联网EX PoshCode上的某个地方(如果有,您可以调整它)
2)想想你的函数(不多)对象:重用代码(用伪代码编写你的算法)
3)使用互联网寻找甚至存在的功能
4) 将所有函数写在与主代码相同的文件中以测试它们。在此阶段,您将发现要添加或删除现有功能和参数的新功能和参数
5) 测试完代码后,将可重用函数(以及它们所依赖的函数)放入一个或多个模块中。
我的解决方案是创建一个自定义模块,以后可以在其中添加功能。
您可以将具有所有功能的单个文件保存mymodule.psm1
在mymodule
此路径下的文件夹中$env:psmodulepath
。
然后add-module mymodule
(或者最好在控制台启动时调用它$profile
以使其准备就绪)