PowerShell / PowerShell/PSScriptAnalyzer

AvoidUsingPositionalParameters : rule is triggered only for the built-in functions

未關閉
#955 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

Area - Rules Issue - Bug
主要語言
C#
星號
2.2k
分支
414
平均合併
13 小時 1 分鐘
30 天內合併 PR
2

描述

Steps to reproduce

function foo { param ( $a, $b, $c ) "boo" }

Invoke-ScriptAnalyzer -ScriptDefinition 'foo a b c'

Expected behavior

Rule AvoidUsingPositionalParameters is triggered.

Actual behavior

The rule is not triggered

Environment data

> $PSVersiontable  
Name                           Value                                                                                                                                                                                                                                                     
----                           -----                                                                                                                                                                                                                                                     
PSVersion                      6.0.1                                                                                                                                                                                                                                                     
PSEdition                      Core                                                                                                                                                                                                                                                      
GitCommitId                    v6.0.1                                                                                                                                                                                                                                                    
OS                             Linux 4.13.0-37-generic #42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018                                                                                                                                                                                
Platform                       Unix                                                                                                                                                                                                                                                      
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                                                                                                                   
PSRemotingProtocolVersion      2.3                                                                                                                                                                                                                                                       
SerializationVersion           1.1.0.1                                                                                                                                                                                                                                                   
WSManStackVersion              3.0          

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

首先,使用提供的 PowerShell 函式和 Invoke-ScriptAnalyzer 命令重現問題,接著在儲存庫中找到 AvoidUsingPositionalParameters 規則。追查該規則為何能處理內建函式,卻無法處理這個使用者定義的函式。完成的標準是:提供的範例會觸發該規則,並且有一個回歸測試涵蓋這個情況。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp, powershell
領域
tooling
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。