Java


JAVA.CLASS.VIS.FIELD : Field Too Visible (Java)

要旨

The visibility of a field is too permissive.

Only fields whose visibility is equal to, or more permissive than, the value specified for configuration parameter JAVA_ANALYSIS_FIELD_VISIBILITY are included in checks for this class. Fields whose visibility is more restrictive than the specified value cannot trigger warnings of this class.

プロパティ

クラス名 Field Too Visible (Java)
日本語クラス名 Field Too Visible (Java)
クラス分類 信頼性 (reliability)
ニーモニック JAVA.CLASS.VIS.FIELD
カテゴリー
CWE CWE:487 Reliance on Package-level Scope
  CWE:608 Struts: Non-private Field in ActionForm Class
  CWE:766 Critical Data Element Declared Public
  CWE:1061 Insufficient Encapsulation
対応言語 Java で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Field Too Visible (Java)"

public class C {
  private int f1;
  protected int f2;
  int f3;
  public int f4;                    // "Field Too Visible (Java)" warning issued here
  private final int f5 = 5;;
  protected final int f6 = 6;
  final int f7 = 7;
  public final int f8 = 8;          // "Field Too Visible (Java)" warning issued here
  private static int f9;
  protected static int f10;
  static int f11;
  public static int f12;
  private final static int f13 = 13;
  protected final static int f14 = 14;
  final static int f15 = 15;
  public final static int f16 = 16;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。