ReviewUnusedParameter

重症度レベル:警告

デフォルト状態:常に有効

Description

このルールは、スクリプト、スクリプトブロック、関数スコープで宣言されているが使用されていないパラメータを検出します。 未使用パラメータを削除することで、コードの明確さを高め、関数の依存関係に関する混乱を減らすことも検討すべきです。

例

非準拠

function Test-Parameter
{
    Param (
        $Parameter1,

        # This parameter is never called in the function
        $Parameter2
    )

    Get-Something $Parameter1
}

対応

function Test-Parameter
{
    Param (
        $Parameter1,

        # Now this parameter is being called in the same scope
        $Parameter2
    )

    Get-Something $Parameter1 $Parameter2
}

ルールの設定

デフォルトでは、このルールは Where-Object または ForEach-Objectに提供されたスクリプトブロック以外の子スコープは考慮しません。 CommandsToTraverse設定は文字列配列で、スクリプトブロックを受け入れる追加コマンドを追加できます。

@{
    Rules = @{
        PSReviewUnusedParameter = @{
            CommandsToTraverse = @(
                'Invoke-PSFProtectedCommand'
            )
        }
    }
}

このルールは設定可能ですが、常に有効にしています。 このルールを避けるために、以下のいずれかの方法を用いてください。

  • 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
  • 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。