2016-07-14 116 views
2

我想在一个模块中重新使用一个变量。假设这是一个常数。导出模块变量名称的命名约定

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

#Get-Stuff.ps1 
Import-Module -Name $moduleName 
$randomVar = $MyVar.Property 

我的意思是,我可以只使用常规的惯例,但随后一个编码器怎么会知道这个变量是从导入模块实例?

+1

我觉得这是个人喜好。使用合乎逻辑的东西并记录它。 –

回答

2

在我的意见你可能不应该导出变量开始。到目前为止,我还没有看到这样做的令人信服的理由。相反,我宁愿导出一个函数,即使它只是返回一个对象。它更安全,更通用,更明显等。

但是有人导入你的模块将不得不通过阅读你的文档或只是熟悉它来知道它。这不像看到导出的函数那么简单。

如果你担心冲突的名字,你有你的命名变量中的相当大的余地,特别是如果你想真的很难参考:

${Some really ___ weird um, variable [email protected]} = randomObject 
+0

现在*邪恶*命名。 – sodawillow

+0

@sodawillow哦,它变得更糟了,我刚刚测试了一个以空格开头并包含换行符的变量名! – briantist

+0

现在我正在考虑Zalgo变量名称...... *令人毛骨悚然*。我看过一个用C#编写的西里尔语标识符的线程,这也很可怕。但我在这里得到OT,对不起。我心何在 ?^_^ – sodawillow