AvoidUsingDoubleQuotesForConstantString

úroveň závažnosti : Informace

Description

Toto pravidlo detekuje statické řetězce s dvojitými uvozovkami ("<text>") s textem, který neobsahuje proměnné, výrazy ani speciální znaky, jež vyžadují escaping.

Text uzavřete do jednoduchých uvozovek ('<text>'), pokud je hodnota řetězce konstantní. Konstantní řetězec neobsahuje proměnné ani výrazy určené k vložení hodnot do řetězce, například "$PID-$(hostname)". Použití jednoduchých uvozovek jasně ukazuje, že řetězec je konstantní, a umožňuje používat speciální znaky, například bez $ nutnosti jejich úniku.

Existují však výjimky, kdy toto pravidlo neoznačuje porušení:

  • Řetězce s dvojitými uvozovkami jsou preferovány, pokud řetězec obsahuje jednotlivé uvozovky
  • Vložené escape sekvence jako newline ("`n")
  • Další speciální postavy, které vyžadují útěk

Example

Nesplňující

$constantValue = "I Love PowerShell"

Kompatibilní

$constantValue = 'I Love PowerShell'