AvoidGlobalVars should only trigger on assignment
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- powershell
- Domínio
- tooling
Direção de pesquisa
Comece localizando a regra PS AvoidGlobalVars e reproduza o exemplo de classe do PowerShell presente na issue no PowerShell 7.6-preview4. O fix estará concluído quando a leitura de $global:PSEdition não produzir nenhum aviso, enquanto atribuir uma variável ao escopo global continuar acionando a regra.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
PowerShell classes requires variables to be initialized in a method before reference. This causes issues with global variables without scoping as the parser will throw a Variable is not assigned in the method error. To get around this the variable must be scoped but this causes PSScriptAnalyzer to throw a violation. The rule should only trigger when assigning a variable to the global scope not reading.
Steps to reproduce
class Test {
[void] Abc() {
if ($global:PSEdition -eq 'core') { write-host core }
}
}
Expected behavior
No warnings
Actual behavior
RuleName Severity ScriptName Line Message
-------- -------- ---------- ---- -------
PSAvoidGlobalVars Warning 3 Found global variable 'global:PSEdition'.
If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *
Environment data
7.6-preview4
1.24.0
- Linguagem predominante
- C#
- Estrelas
- 2.2k
- Forks
- 415
- Merge médio
- 13h 1min
- PRs com merge (30d)
- 2
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PowerShell/PSScriptAnalyzer
-
Up-for-Grabs
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 78/100
PowerShell/PSScriptAnalyzer#2213 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
PowerShell/PSScriptAnalyzer#2217 · 1 comentário ·
-
PSUseConsistentIndentation double-indents attribute bodies that open a scriptblock (`[Attr({ … })]`) Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 70/100
PowerShell/PSScriptAnalyzer#2216 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
PowerShell/PSScriptAnalyzer#2211 ·
-
`PSPlaceOpenBrace` and `PSPlaceCloseBrace` leave trailing whitespace when expanding one-line blocks Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 70/100
PowerShell/PSScriptAnalyzer#2210 ·
Todas as issues de PowerShell/PSScriptAnalyzer
Issues semelhantes
-
untriaged
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
dotnet/dotnet-api-docs#13095 ·
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100
-
type/automation type/tech-debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
newrelic/newrelic-dotnet-agent#3850 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
LuckyPennySoftware/AutoMapper#4660 ·