Freigeben über


AlignAssignmentStatement

Schweregrad: Warnung

Beschreibung

Aufeinanderfolgende Aufgabenstellungen sind besser lesbar, wenn sie ausgerichtet sind. Zuweisungen gelten als ausgerichtet, wenn ihre equals Zeichen vertikal ausgerichtet sind.

Diese Regel betrachtet die Schlüssel-Wert-Paare in Hashtabellen (einschließlich DSC-Konfigurationen) sowie Enum-Definitionen.

Betrachten wir folgendes Beispiel mit einer Hashtabelle und einem Enum, die nicht ausgerichtet sind.

$hashtable = @{
    property = 'value'
    anotherProperty = 'another value'
}

enum Enum {
    member = 1
    anotherMember = 2
}

Die Ausrichtung sieht in diesem Fall wie folgt aus.

$hashtable = @{
    property        = 'value'
    anotherProperty = 'another value'
}

enum Enum {
    member        = 1
    anotherMember = 2
}

Die Regel ignoriert alle Zuweisungen innerhalb von Hashtabellen und Enums, die auf derselben Linie wie andere liegen. Zum Beispiel ignoriert $h = @{a = 1; b = 2}die Regel .

Konfiguration

Rules = @{
    PSAlignAssignmentStatement = @{
        Enable                                  = $true
        CheckHashtable                          = $true
        AlignHashtableKvpWithInterveningComment = $true
        CheckEnum                               = $true
        AlignEnumMemberWithInterveningComment   = $true
        IncludeValuelessEnumMembers             = $true
    }
}

Parameter

Enable: bool (Standardwert ist $false)

Aktivieren oder deaktivieren Sie die Regel während des Aufrufs von ScriptAnalyzer.

CheckHashtable: bool (Standardwert ist $true)

Erzwingen Sie die Ausrichtung von Zuweisungsanweisungen in einer Hashtabelle und in einer DSC-Konfiguration. Es gibt nur eine Einstellung für die Hashtabellen- und DSC-Konfiguration, da die Eigenschaftswertpaare in einer DSC-Konfiguration als Schlüssel-Wert-Paare einer Hashtabelle analysiert werden.

AlignHashtableKvpWithInterveningComment: bool (Standardwert ist $true)

Fügen Sie Schlüssel-Wert-Paare in die Ausrichtung ein, die einen dazwischenliegenden Kommentar haben – also einen Kommentar zwischen dem Schlüsselnamen und dem Gleichheitszeichen.

Beachte Folgendes:

$hashtable = @{
    property = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty = 'yet another value'
}

Mit deaktivierter Einstellung wird die Zeile mit dem Kommentar ignoriert und wäre wie folgt ausgerichtet:

$hashtable = @{
    property                 = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty = 'yet another value'
}

Mit aktivierter Funktion ist die Kommentarzeile in der Ausrichtung enthalten:

$hashtable = @{
    property                      = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty      = 'yet another value'
}

CheckEnum: bool (Standardwert ist $true)

Erzwingen Sie die Ausrichtung der Zuweisungsaussagen einer Enum-Definition.

AlignEnumMemberWithInterveningComment: bool (Standardwert ist $true)

Fügen Sie Mitglieder in die Ausrichtung ein, die einen zwischenliegenden Kommentar haben – also einen Kommentar zwischen dem Mitgliedernamen und dem Gleichheitszeichen.

Beachte Folgendes:

enum Enum {
    member = 1
    anotherMember <#A Comment#> = 2
    anotherDifferentMember = 3
}

Mit deaktivierter Einstellung wird die Zeile mit dem Kommentar ignoriert und wäre wie folgt ausgerichtet:

enum Enum {
    member                 = 1
    anotherMember <#A Comment#> = 2
    anotherDifferentMember = 3
}

Mit aktivierter Funktion ist die Kommentarzeile in der Ausrichtung enthalten:

enum Enum {
    member                      = 1
    anotherMember <#A Comment#> = 2
    anotherDifferentMember      = 3
}

IncludeValuelessEnumMembers: bool (Standardwert ist $true)

Fügen Sie Enum-Mitglieder in die Ausrichtung ein, die keinen explizit zugewiesenen Wert haben. Enums müssen bei ihrer Definition keinen Wert erhalten.

Beachte Folgendes:

enum Enum {
    member = 1
    anotherMember = 2
    anotherDifferentMember
}

Mit deaktivierter Einstellung wird die dritte Zeile, die keinen Wert hat, bei der Auswahl der Zuweisungen nicht berücksichtigt. Sie wäre so ausgerichtet:

enum Enum {
    member        = 1
    anotherMember = 2
    anotherDifferentMember
}

Mit aktivierter Funktion wird das wertlose Mitglied in die Ausrichtung einbezogen, als hätte es einen Wert:

enum Enum {
    member                 = 1
    anotherMember          = 2
    anotherDifferentMember
}