AvoidUsingCmdletAliases

Tingkat Keparahan : Peringatan

Deskripsi

Aturan ini mendeteksi penggunaan alias cmdlet dan penghilangan Get- awalan dalam skenario alias implisit. Alias adalah nama atau nama panggilan alternatif untuk cmdlet atau elemen perintah, seperti fungsi, skrip, file, atau file yang dapat dieksekusi. Meskipun Anda dapat menggunakan alias alih-alih nama perintah lengkap, hal itu mengurangi keterbacaan dan pemeliharaan kode.

PowerShell juga mendukung alias implisit. Ketika nama cmdlet tidak ditemukan, PowerShell menambahkan Get- ke perintah sebagai penggantian. Misalnya, mengetik verb mengeksekusi Get-Verb.

Alias menciptakan inkonsistensi di seluruh basis kode karena penulis yang berbeda mempelajari dan menggunakan alias yang berbeda. Alias berpotensi membuat kode sulit dibaca dan dipahami di lingkungan kolaboratif. Ini juga dapat menyebabkan masalah dengan portabilitas dan ketersediaan skrip.

Menggunakan nama cmdlet lengkap meningkatkan kejelasan kode, membuat skrip lebih mudah dipelihara, dan memungkinkan penyorotan sintaks yang tepat di editor kode dan platform seperti GitHub dan Visual Studio Code. Selalu gunakan nama cmdlet lengkap alih-alih alias.

Contoh

Tidak sesuai

gps | Where-Object {$_.WorkingSet -gt 20000000}

Sesuai

Get-Process | Where-Object {$_.WorkingSet -gt 20000000}

Mengonfigurasi aturan

Untuk mencegah PSScriptAnalyzer menandai alias pilihan Anda, buat daftar alias yang diizinkan dalam file pengaturan Anda dan arahkan kursor PSScriptAnalyzer untuk menggunakan file pengaturan. Misalnya, untuk menonaktifkan PSScriptAnalyzer dari menandai cd, yang merupakan alias Set-Location, atur konten file pengaturan ke yang berikut ini.

@{
    'Rules' = @{
        'PSAvoidUsingCmdletAliases' = @{
            'allowlist' = @('cd')
        }
    }
}