AlignAssignmentStatement

Şiddet Seviyesi: Uyarı

Açıklama

Bu kural, hashtables ve enum tanımlarında yanlış hizalanmış atama operatörlerini tespit eder. Ardışık atama cümleleri, atama operatörleri dikey olarak hizalandığında okunması ve korunması daha kolaydır.

Bu kural, işaretlerin hizalandığından = emin olmak için hashtables ve enum üye tanımlarındaki anahtar-değer çiftlerini kontrol eder. Bu kuralı çoklu hatlı hashtables ve enum tanımlarında tutarlı biçimlendirmeyi zorunlu kılmak için kullanın.

Kural, diğer atamalarla aynı satırda görünen hashtables ve enum'lar içindeki atamaları görmezden gelir. Örneğin, kural 'yi görmezden gelir $h = @{ a = 1; b = 2 }.

Example

Standartlara Uygun Değil

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

enum Enum {
    member = 1
    anotherMember = 2
}

Compliant

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

enum Enum {
    member        = 1
    anotherMember = 2
}

Konfigürasyon

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

Parametreler

Enable

Bu parametre, ScriptAnalyzer'ın kodu bu kurala göre kontrol edip etmediğini kontrol eder. Bir boolean değerini kabul eder. Bu kuralı etkinleştirmek için bu parametreyi .$true $false varsayılan değerdir.

CheckHashtable

Bu parametre, ScriptAnalyzer'ın hashtables ve Desired State Configuration (DSC) yapılandırmalarında atama hizasını kontrol edip etmediğini kontrol eder. Bir boolean değerini kabul eder. Bu kontrolü devre dışı bırakmak için bu parametreyi .$false $true varsayılan değerdir.

AlignHashtableKvpWithInterveningComment

Bu parametre, hizalanmayı belirlerken, ScriptAnalyzer'ın aradaki bir yorum içeren hashtable anahtar-değer çiftlerini içerip içermediğini kontrol eder. Bir boolean değerini kabul eder. Bu satırları dışlamak için bu parametreyi olarak ayarlayın $false. $true varsayılan değerdir.

Aşağıdakileri göz önünde bulundurun:

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

Bu ayar devre dışı bırakıldığında, yorumun olduğu satır göz ardı edilir. Kalan çizgiler için eşit işaretler hizalanmıştır:

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

Bu ayar etkinleştirildiğinde, eşit işaretler tüm çizgiler için hizalanır:

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

CheckEnum

Bu parametre, ScriptAnalyzer'ın enum üye tanımlarında atama hizasını kontrol edip etmediğini kontrol eder. Bir boolean değerini kabul eder. Bu kontrolü devre dışı bırakmak için bu parametreyi .$false $true varsayılan değerdir.

AlignEnumMemberWithinterveningComment

Bu parametre, hizalama belirlenirken ScriptAnalyzer'ın ara bir yorum içeren enum üyelerini içerip içermediğini kontrol eder. Bir boolean değerini kabul eder. Bu satırları dışlamak için bu parametreyi olarak ayarlayın $false. $true varsayılan değerdir.

IncludeValuelessEnumÜyeler

Bu parametre, hizalama belirlenirken ScriptAnalyzer'ın enum üyelerini açıkça atanan değerler olmadan içerip içermediğini kontrol eder. Bir boolean değerini kabul eder. Değersiz üyeleri dışlamak için bu parametreyi olarak ayarlayın $false. $true varsayılan değerdir.

Aşağıdakileri göz önünde bulundurun:

enum Enum {
    member = 1
    anotherMember = 2
    anotherDifferentMember
}

Bu ayar devre dışı bırakıldığında, değeri olmayan üçüncü satır atamaların nereye hizalanacağı seçilirken dikkate alınmaz.

enum Enum {
    member        = 1
    anotherMember = 2
    anotherDifferentMember
}

Etkinleştirildiğinde, değersiz üye hizalama dahil edilir, sanki bir değeri varmış gibi:

enum Enum {
    member                 = 1
    anotherMember          = 2
    anotherDifferentMember
}