심각도 수준: 경고
설명
이 규칙은 자동 변수 이름과 매개변수 이름에 할당된 것을 감지합니다. PowerShell은 내부 상태 정보를 저장하는 변수를 자동으로 정의하고 스스로 관리합니다. 많은 자동 변수를 덮어쓸 수 있지만, 이는 사용자에게 예상치 못한 영향을 미치고 코드를 유지하거나 디버깅하기 어렵게 만들 수 있습니다.
함수와 매개변수에 자동 변수 이름을 사용하는 것은 피하세요. 자동 변수는 PowerShell 내부용으로만 예약하고, 상태 정보를 읽는 데만 의존하세요.
자세한 내용은 about_Automatic_Variables를 참조하세요.
어떻게
함수 이름이나 그 매개변수에 자동 변수와 충돌하지 않는 것을 사용하세요.
Example
비준수
변수 $Error 는 전역 범위에 존재하는 자동 변수이므로 절대 변수나 매개변수 이름으로 사용해서는 안 됩니다.
function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }
Compliant
function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }