تجنب استخدامCmdletAliases

مستوى الخطورة : التحذير

وصف

تكتشف هذه القاعدة استخدام أسماء مستعارة cmdlet وحذف البادئة Get- في سيناريوهات الأسماء المستعارة الضمنية. الاسم المستعار هو اسم بديل أو لقب لعنصر cmdlet أو أوامر، مثل دالة أو سكريبت أو ملف أو ملف تنفيذي. بينما يمكنك استخدام أسماء مستعارة بدلا من اسم الأوامر الكامل، فإن ذلك يقلل من قابلية قراءة الكود وسهولة الصيانة.

يدعم PowerShell أيضا الأسماء المستلمة الضمنية. عندما لا يتم العثور على اسم cmdlet، يتم Get- إضافة PowerShell إلى الأمر كخيار احتياطي. على سبيل المثال، الكتابة verb تنفذ Get-Verb.

الأسماء المستعارة تخلق تناقضا بين قواعد الشيفرة لأن المؤلفين المختلفين يتعلمون ويستخدمون أسماء مستعارة مختلفة. يمكن أن تجعل الأسماء المستعارة الكود صعب القراءة والفهم في بيئات التعاون. كما يمكن أن يسبب مشاكل في قابلية نقل السكريبت وتوفرها.

استخدام أسماء cmdlet الكاملة يحسن وضوح الكود، ويجعل السكريبتات أسهل في الصيانة، ويتيح تمييز النحو بشكل صحيح في محررات الكود والمنصات مثل GitHub و تعليمة Visual Studio برمجية. استخدم دائما اسم cmdlet الكامل بدلا من الأسماء المستعارة.

مثل

غير متوافق

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

متوافقه

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

تكوين القاعدة

لمنع PSScriptAnalyzer الإشارة إلى الأسماء المستعارة المفضلة لديك، أنشئ قائمة السماح بالأسماء المستعارة في ملف الإعدادات وأشر PSScriptAnalyzer لاستخدام ملف الإعدادات. على سبيل المثال، لتعطيل PSScriptAnalyzer من وضع علامة cd، وهو اسم مستعار Set-Location، قم بتعيين محتوى ملف الإعدادات إلى ما يلي.

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