重症度レベル:警告
デフォルト状態:常に有効
Description
このルールは、関数名の global: スコープ修飾子を使ってグローバルスコープで関数を定義する関数定義を検出します。 グローバル関数はセッション内の既存の関数を意図せず上書きし、予期せぬ挙動や名前の衝突を引き起こすことがあります。 名前の衝突により、モジュール利用者が問題を診断し、コードの信頼性を維持するのが困難になります。
この問題を避けるために、グローバルスコープ修飾子を使わない関数を定義するか、他の適切なスコープ修飾子を使用してください。 詳しくは about_Scopesをご覧ください。
例
非準拠
function global:functionName {}
対応
function functionName {}
ルールの設定
このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。
- 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
- 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。