2016-07-14 29 views
2

Ich habe eine Variable in einem Modul, das ich gerne wiederverwenden möchte. Sagen wir, es ist eine Konstante.Namenskonvention für exportierte Modulvariablennamen

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

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

Ich meine, ich könnte nur eine regelmäßige Konvention verwenden, aber dann, wie würde ein Programmierer weiß diese Variable aus einer importierten Modul instanziiert wurden?

+1

Ich denke, das ist persönliche Präferenz. Verwenden Sie etwas Logisches und dokumentieren Sie es. –

Antwort

2

In meiner Meinung sollten Sie wahrscheinlich Variablen nicht zu Anfang exportieren. Bisher habe ich keinen zwingenden Grund gesehen, dies zu tun.

Stattdessen würde ich lieber eine Funktion exportieren, auch wenn sie nur ein einzelnes Objekt zurückgibt. Es ist sicherer, vielseitiger, offensichtlicher, etc.

Aber jemand, der Ihr Modul importiert, muss es aus dem Lesen Ihrer Dokumentation oder einfach nur der Vertrautheit damit wissen. Es ist nicht so einfach wie die exportierten Funktionen zu sehen.

Wenn Sie sich über widersprüchliche Namen besorgt sind, haben Sie eine ziemlich große Breite Ihre Variable bei der Benennung, vor allem, wenn Sie es wirklich schwer zu Referenz machen wollen:

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

Jetzt ist das * böse * Benennung. – sodawillow

+0

@sodawillow oh es wird schlimmer, ich habe gerade einen Variablennamen getestet, der mit einem Leerzeichen beginnt und Zeilenumbrüche enthält! – briantist

+0

Jetzt denke ich über Zalgo Variablennamen nach ... * gruselig *. Ich habe einen Thread mit in C# geschriebenen Bezeichnern in kyrillischer Schrift gesehen, das war auch gruselig. Aber ich bekomme OT hier, sorry. Wo ist mein Hirn ?^_^ – sodawillow