PowerShell / PowerShell/PSScriptAnalyzer

UseShouldProcessForStateChangingFunctions should prove that a function changes system state.

Offen
#206 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Issue - Bug Issue - New Rule Up-for-Grabs
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Right now, the UseShouldProcessForStateChangingFunctions rule only looks at the name of the function (the verb) in order to determine that the function changes system state.

I think the rule should look at the body of the function and see if the function uses other functions that changes system state before it issues a warning.

If not, then I think that functions with the "New" verb should not be considered as functions that change system state. A lot of functions from the community with the "New" verb do not change system state, but are actually just different forms of "New-Object". See, for example, the ShowUI module.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der UseShouldProcessForStateChangingFunctions-Regel und verfolge, wie sie derzeit Funktionsnamen verwendet, um Warnungen auszugeben. Untersuche, wie die Regel Funktionskörper und Aufrufe prüfen könnte, einschließlich der Frage, ob New-verb-Funktionen ausgeschlossen werden sollten, wenn sie den Systemzustand nicht ändern. Als erledigt gilt die Aufgabe, wenn die Regel zustandsändernde Funktionen von Funktionen zur Objekterstellung unterscheiden kann, ohne sich ausschließlich auf das Verb zu stützen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.