AvoidAssignmentToAutomaticVariable

Livello di gravità: Avviso

Descrizione

Questa regola rileva le assegnazioni a variabili automatiche e nomi di parametri che utilizzano nomi automatici di variabili. PowerShell definisce automaticamente variabili che memorizzano informazioni di stato interne e le gestiscono autonomamente. Anche se puoi sovrascrivere molte variabili automatiche, farlo può avere effetti inaspettati per gli utenti e rendere il codice più difficile da mantenere e debugare.

Evita di usare nomi automatici delle variabili nelle tue funzioni e parametri. Riserva le variabili automatiche solo per l'uso interno di PowerShell e affidati a esse solo per leggere le informazioni di stato.

Per saperne di più, vedi about_Automatic_Variables.

Come

Usa i nomi delle variabili nelle funzioni o i loro parametri che non entrino in conflitto con variabili automatiche.

Example

Non conforme

La variabile $Error è una variabile automatica che esiste nell'ambito globale e quindi non dovrebbe mai essere usata come nome di variabile o parametro.

function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }

Compliant

function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }