AlignAssignmentStatement

Tingkat Tingkat Keparahan: Peringatan

Deskripsi

Aturan ini mendeteksi operator penetapan yang tidak sejajar dalam tabel hash dan definisi enum. Pernyataan penugasan berurutan lebih mudah dibaca dan dipelihara saat operator penetapannya disejajarkan secara vertikal.

Aturan ini memeriksa pasangan kunci-nilai dalam tabel hash dan definisi anggota enum untuk memastikan bahwa = tanda sejajar. Gunakan aturan ini untuk menerapkan pemformatan yang konsisten dalam tabel hash multibaris dan definisi enum.

Aturan ini mengabaikan penetapan dalam hashtabel dan enum yang muncul di baris yang sama dengan penugasan lainnya. Misalnya, aturan mengabaikan $h = @{ a = 1; b = 2 }.

Example

Tidak sesuai

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

enum Enum {
    member = 1
    anotherMember = 2
}

Sesuai

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

enum Enum {
    member        = 1
    anotherMember = 2
}

Konfigurasi

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

Parameter-parameternya

Enable

Parameter ini mengontrol apakah ScriptAnalyzer memeriksa kode terhadap aturan ini. Ini menerima nilai boolean. Untuk mengaktifkan aturan ini, atur parameter ini ke $true. Nilai defaultnya adalah $false.

CheckHashtable

Parameter ini mengontrol apakah ScriptAnalyzer memeriksa perataan penetapan dalam tabel hash dan konfigurasi Desired State Configuration (DSC). Ini menerima nilai boolean. Untuk menonaktifkan pemeriksaan ini, atur parameter ini ke $false. Nilai defaultnya adalah $true.

AlignHashtableKvpWithInterveningComment

Parameter ini mengontrol apakah ScriptAnalyzer menyertakan pasangan kunci-nilai hashtable yang berisi komentar intervensi saat menentukan perataan. Ini menerima nilai boolean. Untuk mengecualikan baris ini, atur parameter ini ke $false. Nilai defaultnya adalah $true.

Pertimbangkan hal berikut:

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

Dengan pengaturan ini dinonaktifkan, baris dengan komentar diabaikan. Tanda sama dengan disejajarkan untuk baris yang tersisa:

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

Dengan pengaturan ini diaktifkan, tanda sama dengan disejajarkan untuk semua baris:

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

Periksa Enum

Parameter ini mengontrol apakah ScriptAnalyzer memeriksa perataan penetapan dalam definisi anggota enum. Ini menerima nilai boolean. Untuk menonaktifkan pemeriksaan ini, atur parameter ini ke $false. Nilai defaultnya adalah $true.

AlignEnumMemberWithInterveningComment

Parameter ini mengontrol apakah ScriptAnalyzer menyertakan anggota enum yang berisi komentar intervensi saat menentukan perataan. Ini menerima nilai boolean. Untuk mengecualikan baris ini, atur parameter ini ke $false. Nilai defaultnya adalah $true.

IncludeValuelessEnumMembers

Parameter ini mengontrol apakah ScriptAnalyzer menyertakan anggota enum tanpa nilai yang ditetapkan secara eksplisit saat menentukan perataan. Ini menerima nilai boolean. Untuk mengecualikan anggota tanpa nilai, atur parameter ini ke $false. Nilai defaultnya adalah $true.

Pertimbangkan hal berikut:

enum Enum {
    member = 1
    anotherMember = 2
    anotherDifferentMember
}

Dengan pengaturan ini dinonaktifkan, baris ketiga, yang tidak memiliki nilai, tidak dipertimbangkan saat memilih tempat untuk menyelaraskan tugas.

enum Enum {
    member        = 1
    anotherMember = 2
    anotherDifferentMember
}

Dengan mengaktifkan perataan, anggota tanpa nilai disertakan dalam perataan seolah-olah memiliki nilai:

enum Enum {
    member                 = 1
    anotherMember          = 2
    anotherDifferentMember
}