Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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_Variables_Module_Convention - Fatal编程技术网

Powershell 导出模块变量名的命名约定

Powershell 导出模块变量名的命名约定,powershell,variables,module,convention,Powershell,Variables,Module,Convention,我想重用模块中的一个变量。假设它是一个常数 #MyModule.psm1 $MyVar = randomObject Export-ModuleMember -Variable MyVar #Get-Stuff.ps1 Import-Module -Name $moduleName $randomVar = $MyVar.Property 我的意思是,我可以使用常规约定,但是编码人员怎么知道这个变量是从导入的模块实例化的呢?在我看来,您可能不应该一开始就导出变量。到目前为止,我还没有看到令人

我想重用模块中的一个变量。假设它是一个常数

#MyModule.psm1
$MyVar = randomObject
Export-ModuleMember -Variable MyVar

#Get-Stuff.ps1
Import-Module -Name $moduleName
$randomVar = $MyVar.Property
我的意思是,我可以使用常规约定,但是编码人员怎么知道这个变量是从导入的模块实例化的呢?

在我看来,您可能不应该一开始就导出变量。到目前为止,我还没有看到令人信服的理由这样做

相反,我宁愿导出一个函数,即使它所做的一切都返回一个对象。它更安全、更通用、更明显等

但是,导入您的模块的人必须通过阅读您的文档或只是熟悉它来了解它。这不像看到导出的函数那么容易

如果您担心名称冲突,那么在命名变量时有很大的自由度,特别是如果您想让引用变得非常困难:

${Some really ___ weird um, variable n@m3} =  randomObject

我认为这是个人偏好。使用一些合乎逻辑的东西并记录下来。现在这是一个邪恶的命名。@sodawillow哦,更糟糕的是,我刚刚测试了一个以空格开头并包含换行符的变量名!现在我在考虑Zalgo变量名。。。令人毛骨悚然。我见过一个用西里尔文写的C#的标识符的线程,这也很可怕。对不起,我要走了。我的心在哪里^_^@sodawillow Yesss现在我真的很想这么做