AvoidUsingCmdletAliases

Önem Derecesi: Uyarı

Açıklama

Bu kural, örtük takma ad senaryolarında cmdlet takma adlarının kullanımını ve önekin Get- çıkarılmasını tespit eder. Takma ad, bir fonksiyon, script, dosya veya çalıştırılabilir dosya gibi bir cmdlet veya komut öğesi için alternatif bir ad veya takma addır. Tam komut adı yerine takma ad kullanabilseniz de, bu kodun okunabilirliğini ve sürdürülebilirliğini azaltır.

PowerShell ayrıca örtük takma adları da destekler. Bir cmdlet adı bulunmadığında, PowerShell komuta yedek olarak eklenir Get- . Örneğin, yazmak verb için çalıştırılır Get-Verb.

Aliaslar, farklı yazarlar farklı takma adları öğrenip kullandığı için kod tabanları arasında tutarsızlık yaratır. Takma adlar, iş birliği ortamlarında kodun okunmasını ve anlaşılmasını zorlaştırabilir. Ayrıca script taşınabilirliği ve kullanılabilirliğinde sorunlara yol açabilir.

Tam cmdlet adlarının kullanılması, kod netliğini artırır, betiklerin sürdürülmesini kolaylaştırır ve GitHub ile Visual Studio Code gibi kod editörleri ve platformlarda doğru sözdizimi vurgulamasını sağlar. Her zaman takma adlar yerine tam cmdlet adını kullanın.

Örnek

Standartlara Uygun Değil

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

Compliant

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

Kuralı yapılandırma

Tercih ettiğiniz takma adların işaretlenmesini önlemek PSScriptAnalyzer için, ayarlar dosyanızda takma adların izin listesini oluşturun ve ayarlar dosyasını kullanmak için işaret PSScriptAnalyzer edin. Örneğin, PSScriptAnalyzercddiğer adı olan Set-Locationişaretlemesini devre dışı bırakmak için, ayarlar dosya içeriğini aşağıdaki şekilde ayarlayın.

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