Javaのスキャンルール
Contrast Scanでは、Javaに対して以下のルールをサポートしています。
深刻度 | Contrastルール | エンジンルールID | 説明 |
---|---|---|---|
重大 | Use Authenticated SOAP Messages | OPT.JAVA.JAX.UseAuthenticatedSOAPMessages | UseAuthenticatedSOAPMessages:SOAPメッセージの認証の使用 |
重大 | Use Encrypted SOAP Messages | OPT.JAVA.JAX.UseEncryptedSOAPMessages | UseEncryptedSOAPMessages:暗号化されたSOAPメッセージの使用 |
重大 | Use Signed SOAP Messages | OPT.JAVA.JAX.UseSignedSOAPMessages | UseSignedSOAPMessages:署名されたSOAPメッセージの使用 |
重大 | Acegi Insecure Channel Mixing Rule | OPT.JAVA.SEC_JAVA.AcegiInsecureChannelMixingRule | AcegiInsecureChannelMixingRule:Acegiの設定ミス - 安全でないチャンネルミキシング |
重大 | Insecure SSL | OPT.JAVA.SEC_JAVA.InsecureSSL | InsecureSSL:安全でないSSLの設定 |
重大 | Too Much Origins Allowed Rule | OPT.JAVA.SEC_JAVA.TooMuchOriginsAllowedRule | TooMuchOriginsAllowedRule:CORSボリシー(クロスオリジンリソース共有)での広すぎる許可範囲 |
重大 | Android SQL Injection | OPT.JAVA.ANDROID.AndroidSQLInjection | AndroidSQLInjection:無害化されていないユーザ入力で生成されるSQL式の回避 |
重大 | Content Provider Uri Injection | OPT.JAVA.ANDROID.ContentProviderUriInjection | ContentProviderUriInjection:コンテンツプロバイダURIインジェクション |
重大 | Dynamically Loading Code | OPT.JAVA.ANDROID.DynamicallyLoadingCode | DynamicallyLoadingCode:動的なコードの読み込み回避 |
重大 | Intent Manipulation | OPT.JAVA.ANDROID.IntentManipulation | IntentManipulation:インテントの改ざん |
重大 | Javascript Enabled | OPT.JAVA.ANDROID.JavascriptEnabled | JavascriptEnabled:JavaScriptの無効化(JavaScriptを有効にすることは推奨されない) |
重大 | Javascript Interface Annotation | OPT.JAVA.ANDROID.JavascriptInterfaceAnnotation | JavascriptInterfaceAnnotation:WebView.addJavaScriptInterface()によるコードインジェクションの可能性 |
重大 | Code Injection Rule | OPT.JAVA.SEC_JAVA.CodeInjectionRule | CodeInjectionRule:スクリプトAPIにおける動的なコードインジェクション |
重大 | Code Injection With Deserialization Rule | OPT.JAVA.SEC_JAVA.CodeInjectionWithDeserializationRule | CodeInjectionWithDeserializationRule:XML/JSONのデシリアライズ時の動的なコードインジェクション |
重大 | Command Injection Rule | OPT.JAVA.SEC_JAVA.CommandInjectionRule | CommandInjectionRule:OSコマンドで使用する特殊要素の不適切な無害化(OSコマンドインジェクション) |
重大 | Connection String Parameter Pollution | OPT.JAVA.SEC_JAVA.ConnectionStringParameterPollution | ConnectionStringParameterPollution::信頼できない入力で汚染された接続文字列 |
重大 | Never Use Identifier In Equals Hashcode | OPT.HIBERNATE.NeverUseIdentifierInEqualsHashcode | NeverUseIdentifierInEqualsHashcode:equals()やhashCode()でのデータベースの識別子の使用禁止 |
重大 | Rollback Transaction On Exception | OPT.HIBERNATE.RollbackTransactionOnException | RollbackTransactionOnException:例外が発生した場合はトランザクションをロールバックする |
重大 | Static Inner Persistent Classes | OPT.HIBERNATE.StaticInnerPersistentClasses | StaticInnerPersistentClasses:内部クラスが永続的である場合、それはstatic宣言する |
重大 | Access to persistence layer from Struts Actions | OPT.JAVA.ACTIONS.ALPA | ALPA:Struts ActionからPersistence layerへのアクセス |
重大 | N A E A | OPT.JAVA.ACTIONS.NAEA | NAEA:Actionではfinalインスタンスフィールドの使用禁止 |
重大 | Activity Start At Broadcast Intent | OPT.JAVA.ANDROID.ActivityStartAtBroadcastIntent | ActivityStartAtBroadcastIntent:ブロードキャストインテントに応答するアクティビティの開始 |
重大 | Cross Site Scripting Rule | OPT.JAVA.SEC_JAVA.CrossSiteScriptingRule | CrossSiteScriptingRule:Webページ生成中の入力の不適切な無害化(クロスサイトスクリプティング) |
重大 | Http Splitting Rule | OPT.JAVA.SEC_JAVA.HttpSplittingRule | HttpSplittingRule:HTTPヘッダにおけるCRLFシーケンスの不適切な無害化(HTTPレスポンス分割攻撃) |
重大 | I Batis SQL Injection Rule | OPT.JAVA.SEC_JAVA.IBatisSqlInjectionRule | IBatisSqlInjectionRule:iBatisでのSQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | Ldap Injection Rule | OPT.JAVA.SEC_JAVA.LdapInjectionRule | LdapInjectionRule:LDAP検索フィルタにおける無害化されていないユーザ制御入力の回避 |
重大 | Mail Command Injection | OPT.JAVA.SEC_JAVA.MailCommandInjection | MailCommandInjection:メールコマンドインジェクション |
重大 | No SQL Injection | OPT.JAVA.SEC_JAVA.NoSQLInjection | NoSQLInjection:データクエリロジックにおける特殊要素の不適切な無害化(NoSQLインジェクション) |
重大 | Process Control Rule | OPT.JAVA.SEC_JAVA.ProcessControlRule | ProcessControlRule:信頼できないソースから読み込まれたライブラリ |
重大 | Regex Injection Rule | OPT.JAVA.SEC_JAVA.RegexInjectionRule | RegexInjectionRule:悪意のある正規表現によるDos攻撃の防止(正規表現インジェクション) |
重大 | Privilege Escalation Attack | OPT.JAVA.ANDROID.PrivilegeEscalationAttack | PrivilegeEscalationAttack:権限昇格攻撃の防止(アプリケーションが他のアプリケーション権限を使用してコードを実行することを許可しない) |
重大 | Same Origin Method Execution | OPT.JAVA.SEC_JAVA.SameOriginMethodExecution | SameOriginMethodExecution:同一オリジンメソッド実行(SOME) |
重大 | Server Side Request Forgery Rule | OPT.JAVA.SEC_JAVA.ServerSideRequestForgeryRule | ServerSideRequestForgeryRule:サーバサイドリクエストフォージェリ(SSRF) |
重大 | Spring View Manipulation | OPT.JAVA.SEC_JAVA.SpringViewManipulation | SpringViewManipulation:Spring Viewの操作 |
重大 | S Q L Resources | OPT.JAVA.ANDROID.SQLResources | SQLResources:終了時にSQLのリソースを閉じる |
重大 | SQL Injection Rule | OPT.JAVA.SEC_JAVA.SqlInjectionRule | SqlInjectionRule:SQLコマンドで使用する特殊要素の不適切な無害化(SQLインジェクション) |
重大 | B L N C | OPT.JAVA.BEANS.BLNC | BLNC:JavaBeans内のすべてのリスナーメソッドに適切なシグネチャ(署名)の使用 |
重大 | Avoid Assign In For | OPT.JAVA.BUC.AvoidAssignInFor | AvoidAssignInFor:forループ内での変数への値の代入を避ける |
重大 | Avoid Reuse Var | OPT.JAVA.BUC.AvoidReuseVar | AvoidReuseVar:ネストされたループでの制御変数の再利用の回避 |
重大 | Float Double Comparison | OPT.JAVA.COMP.FloatDoubleComparison | FloatDoubleComparison:CERT-Jのコーディング規約「NUM07-J」浮動小数点数の比較に注意 |
重大 | Avoid Call AWT From Servlet | OPT.JAVA.COMPDAT.AvoidCallAWTFromServlet | AvoidCallAWTFromServlet:サーブレットのコードからjava.awt.*の呼び出し禁止 |
重大 | Avoid Call Swing From Servlet | OPT.JAVA.COMPDAT.AvoidCallSwingFromServlet | AvoidCallSwingFromServlet:サーブレットからjavax.swing.*の呼び出し禁止 |
重大 | Avoid Return In Constructors | OPT.JAVA.CONST.AvoidReturnInConstructors | AvoidReturnInConstructors:戻り値の型を持つコンストラクタの回避 |
重大 | Avoid Declare Matrix Volatile | OPT.JAVA.DECL.AvoidDeclareMatrixVolatile | AvoidDeclareMatrixVolatile:配列フィールドのvolatile宣言の禁止 |
重大 | Avoid Inaccessible Class | OPT.JAVA.DECL.AvoidInaccessibleClass | AvoidInaccessibleClass:アクセスできないクラスの回避 |
重大 | Avoid Break Continue In Labels | OPT.JAVA.ESTRUC.AvoidBreakContinueInLabels | AvoidBreakContinueInLabels:ラベル付きのcontinueとbreakの回避 |
重大 | Avoid Call Sound From Servlet | OPT.JAVA.EXAC.AvoidCallSoundFromServlet | AvoidCallSoundFromServlet:サーブレットのコードからjavax.sound.*の呼び出し禁止 |
重大 | Avoid Throw Null Pointer Exceptions | OPT.JAVA.EXCP.AvoidThrowNullPointerExceptions | AvoidThrowNullPointerExceptions:NullPointerExceptionのスロー回避 |
重大 | Avoid Remove Action Listener | OPT.JAVA.FIN.AvoidRemoveActionListener | AvoidRemoveActionListener:finalize()メソッドでのアクションリスナーの削除回避 |
重大 | A B C L | OPT.JAVA.FMETODOS.ABCL | ABCL:ラベル付きのbreak/continue文の使用回避 |
重大 | A GC | OPT.JAVA.GC.AGC | AGC:System.gc()でのGCの呼び出し禁止 |
重大 | I F F | OPT.JAVA.GC.IFF | IFF:finalize()メソッドのfinallyブロックでsuper.finalize()の呼び出し禁止 |
重大 | Avoid Await Outside Brackets | OPT.JAVA.HEB.AvoidAwaitOutsideBrackets | AvoidAwaitOutsideBrackets:java.util.concurrent.locks.Conditionクラスのawait()メソッドを、whileループの外側で使用しない |
重大 | Avoid Call Wait | OPT.JAVA.HEB.AvoidCallWait | AvoidCallWait:java.util.concurrent.locks.Conditionオブジェクトのwait()呼び出しを回避する |
重大 | Avoid Runnable Without Run | OPT.JAVA.HEB.AvoidRunnableWithoutRun | AvoidRunnableWithoutRun:run()メソッドのないRunnableの実装の回避 |
重大 | Run With Synchronize | OPT.JAVA.HEB.RunWithSynchronize | RunWithSynchronize:run()メソッドでは常に「synchronized」の使用 |
重大 | Avoid Load Library | OPT.JAVA.J2EE.AvoidLoadLibrary | AvoidLoadLibrary:java.lang.System.loadLibrary()またはjava.lang.Runtime.loadLibrary()を呼び出し禁止 |
重大 | Avoid Set Security Manager | OPT.JAVA.J2EE.AvoidSetSecurityManager | AvoidSetSecurityManager:java.lang.System.setSecurityManager()の呼び出し禁止 |
重大 | Avoid Protected Native Methods | OPT.JAVA.J2SE.AvoidProtectedNativeMethods | AvoidProtectedNativeMethods:protected宣言したネイティブメソッドの回避 |
重大 | Avoid Public Native Methods | OPT.JAVA.J2SE.AvoidPublicNativeMethods | AvoidPublicNativeMethods:public宣言したネイティブメソッドの回避 |
重大 | Avoid Invalid Exception Handling | OPT.JAVA.JAX.AvoidInvalidExceptionHandling | AvoidInvalidExceptionHandling:JAX-WS仕様に準拠した例外処理 |
重大 | Avoid Web Method Annotation In Endpoint Interfaces | OPT.JAVA.JAX.AvoidWebMethodAnnotationInEndpointInterfaces | AvoidWebMethodAnnotationInEndpointInterfaces:エンドポイントのインターフェースメソッドで@WebMethodアノテーションの使用回避 |
重大 | Xml Entity Injection Rule | OPT.JAVA.SEC_JAVA.XmlEntityInjectionRule | XmlEntityInjectionRule:XMLエンティティインジェクション |
重大 | Avoid Data Submission To Non Editable Field | OPT.JAVA.SPRING.AvoidDataSubmissionToNonEditableField | AvoidDataSubmissionToNonEditableField:編集不可のフィールドへのデータ送信の回避 |
重大 | D S L V | OPT.JAVA.JDBC.DSLV | DSLV:ローカルメソッドでデータソース変数の作成禁止 |
重大 | S E T P S | OPT.JAVA.JDBC.SETPS | SETPS:PreparedStatementのパラメータ値は、クエリを実行する前に定義が必要 |
重大 | Set Up J Unit | OPT.JAVA.JUNIT_JAVA.SetUpJUnit | SetUpJUnit:JUnitsの各テストケースでsetUp()メソッドを常に上書きする |
重大 | Avoid Call Thread From Servlet | OPT.JAVA.MAN.AvoidCallThreadFromServlet | AvoidCallThreadFromServlet:サーブレットからjava.lang.Threadの呼び出し回避 |
重大 | Avoid Call Finalize | OPT.JAVA.MEM.AvoidCallFinalize | AvoidCallFinalize:メソッドfinalize()のfinallyブロック以外でのfinalize()の呼び出し回避 |
重大 | Avoid Garbage Collector | OPT.JAVA.MEM.AvoidGarbageCollector | AvoidGarbageCollector:ガベージコレクタの起動の回避 |
重大 | Avoid Publicfinalize | OPT.JAVA.MEM.AvoidPublicfinalize | AvoidPublicfinalize:finalize()はpublic宣言しない |
重大 | A S I | OPT.JAVA.PB.ASI | ASI:条件式においては代入と比較の混同の可能性がある |
重大 | M A I L | OPT.JAVA.PB.MAIL | MAIL:javax.mail.*の使用の回避 |
重大 | N A M I N G | OPT.JAVA.PB.NAMING | NAMING:コンストラクタでないメソッドに、そのクラスと同じ名前をつけない |
重大 | T L S | OPT.JAVA.PB.TLS | TLS:ステートメントでのテキストタグの使用の回避 |
重大 | Avoid Call Applet From Servlet | OPT.JAVA.RECBAS.AvoidCallAppletFromServlet | AvoidCallAppletFromServlet:サーブレットのfinalize()メソッドからjava.applet.*の呼び出しの回避 |
重大 | Avoid Call Class Loader From Servlet | OPT.JAVA.RECBAS.AvoidCallClassLoaderFromServlet | AvoidCallClassLoaderFromServlet:サーブレットのfinalize()メソッドからjava.lang.ClassLoaderの呼び出しの回避 |
重大 | Avoid Call Context From Servlet | OPT.JAVA.RECBAS.AvoidCallContextFromServlet | AvoidContextFromServlet:サーブレットのfinalize()メソッドから javax.naming.Contextの呼び出しの回避 |
重大 | Avoid Call Driver From Servlet | OPT.JAVA.RECBAS.AvoidCallDriverFromServlet | AvoidCallDriverFromServlet:サーブレットのfinalize()メソッドからjava.sql.Driverの呼び出しの禁止 |
重大 | Avoid Call I O From Servlet | OPT.JAVA.RECBAS.AvoidCallIOFromServlet | AvoidCallIOFromServlet:サーブレットのfinalize()メソッドからjava.io.*の呼び出しの回避 |
重大 | Avoid Call Lang Ref From Servlet | OPT.JAVA.RECBAS.AvoidCallLangRefFromServlet | AvoidCallLangRefFromServlet:サーブレットのfinalize()メソッドからjava.lang.ref.*の呼び出しの回避 |
重大 | Avoid Call Port Rem Obj From Servlet | OPT.JAVA.RECBAS.AvoidCallPortRemObjFromServlet | AvoidCallPortRemObjFromServlet:サーブレットのfinalize()メソッドからjavax.rmi.PortableRemoteObjectの呼び出しの回避 |
重大 | Avoid Call Runnable From Servlet | OPT.JAVA.RECBAS.AvoidCallRunnableFromServlet | AvoidCallRunnableFromServlet:サーブレットのfinalize()メソッドからjava.lang.Runnableの呼び出しの回避 |
重大 | Avoid Call Security From Servlet | OPT.JAVA.RECBAS.AvoidCallSecurityFromServlet | AvoidCallSecurityFromServlet:サーブレットのfinalize()メソッドからjava.security .*の呼び出しの回避 |
重大 | Avoid Call Transaction From Servlet | OPT.JAVA.RECBAS.AvoidCallTransactionFromServlet | AvoidCallTransactionFromServlet:サーブレットのfinalize()メソッドからjavax.transaction.*の呼び出しの回避 |
重大 | Avoid Get Declared Method | OPT.JAVA.REFL.AvoidGetDeclaredMethod | AvoidGetDeclaredMethod:java.lang.Class.getDeclaredMethod()の呼び出しの回避 |
重大 | Avoid Get Field | OPT.JAVA.REFL.AvoidGetField | AvoidGetField:java.lang.Class.getField()の呼び出しの回避 |
重大 | Avoid Get Method | OPT.JAVA.REFL.AvoidGetMethod | AvoidGetMethod:java.lang.ClassからgetMethod()メソッドの呼び出しの回避 |
重大 | Avoid Call Compiler From Servlet | OPT.JAVA.RENDESC.AvoidCallCompilerFromServlet | AvoidCallCompilerFromServlet:サーブレットからjava.lang.Compilerの呼び出しの回避 |
重大 | Avoid Call Reflect From Servlet | OPT.JAVA.RENDESC.AvoidCallReflectFromServlet | AvoidCallReflectFromServlet:サーブレットからjava.lang.reflect .*の呼び出しの回避 |
重大 | Avoid Call Runtime From Servlet | OPT.JAVA.RENDESC.AvoidCallRuntimeFromServlet | AvoidCallRuntimeFromServlet:サーブレットからjava.lang.Runtimeの呼び出しの回避 |
重大 | Avoid Call Thread Group From Servlet | OPT.JAVA.RENDESC.AvoidCallThreadGroupFromServlet | AvoidCallThreadGroupFromServlet:サーブレットからjava.lang.ThreadGroupの呼び出しの回避 |
重大 | Avoid Call Zip From Servlet | OPT.JAVA.RENDESC.AvoidCallZipFromServlet | AvoidCallZipFromServlet:サーブレットからjava.util.zip.*の呼び出しの回避 |
重大 | E A O F | OPT.JAVA.RGME.EAOF | EAOF: クラスフィールドに何度もアクセスしない |
重大 | Dont Use Keywords | OPT.JAVA.RGP.DontUseKeywords | DontUseKeywords:新しいバージョンの言語では予約語の使用禁止 |
重大 | E N V | OPT.JAVA.RGP.ENV | ENV:System.getenv()の使用禁止 |
重大 | E R A | OPT.JAVA.RGP.ERA | ERA:絶対パスの使用回避 |
重大 | E X E C | OPT.JAVA.RGP.EXEC | EXEC:Runtime.exec()の使用回避 |
重大 | N A T V | OPT.JAVA.RGP.NATV | NATV:ユーザー定義のネイティブメソッドの使用回避 |
重大 | P E E R | OPT.JAVA.RGP.PEER | PEER:java.awt.peer.*インタフェースの使用回避 |
重大 | Accessibility Subversion Rule | OPT.JAVA.SEC_JAVA.AccessibilitySubversionRule | AccessibilitySubversionRule:Javaアクセス制限の回避(リフレクション) |
重大 | Acegi Run As Authentication Replacement Rule | OPT.JAVA.SEC_JAVA.AcegiRunAsAuthenticationReplacementRule | AcegiRunAsAuthenticationReplacementRule:Acegiの設定ミス - Run-As認証置換 |
重大 | Anonymous Ldap Bind Rule | OPT.JAVA.SEC_JAVA.AnonymousLdapBindRule | AnonymousLdapBindRule:アクセス制御 - 匿名LDAPバインドの検出 |
重大 | Path Traversal Rule | OPT.JAVA.SEC_JAVA.PathTraversalRule | PathTraversalRule:リソースへのパス名で構成される、無害化されていないユーザ制御の入力の回避 |
重大 | Spring Unrestricted Request Mapping | OPT.JAVA.SEC_JAVA.SpringUnrestrictedRequestMapping | SpringUnrestrictedRequestMapping:Springの制限なしのRequestMappingではCSRF対策にならない |
重大 | Static Database Connection | OPT.JAVA.SEC_JAVA.StaticDatabaseConnection | StaticDatabaseConnection:静的なデータベース接続/セッション |
重大 | Avoid Add Container Himself | OPT.JAVA.SENT.AvoidAddContainerHimself | AvoidAddContainerHimself:コンテナ自身の追加の回避 |
重大 | Avoid Incorrect Increase | OPT.JAVA.SENT.AvoidIncorrectIncrease | AvoidIncorrectIncrease:後置インクリメント(i++)をそれ自身に代入しない |
重大 | Avoid Invoke Exit | OPT.JAVA.SENT.AvoidInvokeExit | AvoidInvokeExit:System.exit()の呼び出し禁止 |
重大 | Avoid Invoke Run Finalizers On Exit | OPT.JAVA.SENT.AvoidInvokeRunFinalizersOnExit | AvoidInvokeRunFinalizersOnExit:java.lang.System.runFinalizersOnExit()の呼び出しの回避 |
重大 | Not Use Label Sentences | OPT.JAVA.SENT.NotUseLabelSentences | NotUseLabelSentences:ラベルを使用禁止 |
重大 | Declare Contructor For Externalizable | OPT.JAVA.SERI.DeclareContructorForExternalizable | DeclareContructorForExternalizable:java.io.Externalizableを実装するクラスのコンストラクタを常に宣言する |
重大 | Read Resolve Return Object | OPT.JAVA.SERI.ReadResolveReturnObject | ReadResolveReturnObject:readResolve()メソッドの戻り値の型は常にjava.lang.Object() |
重大 | S B L | OPT.JAVA.STR.SBL | SBL:StringBuffer/StringBuilderを使用して文字列サイズを取得する際のtoStringメソッドの削除 |
重大 | Avoid Sun Star | OPT.JAVA.SUN.AvoidSunStar | AvoidSunStar:sun.*の使用の回避 |
重大 | Avoid Label Switch Sentences | OPT.JAVA.SWITCH.AvoidLabelSwitchSentences | AvoidLabelSwitchSentences:switch文でテキストラベルの使用の回避 |
重大 | A U T Y | OPT.JAVA.TRS.AUTY | AUTY:Thread.yieldの使用の回避 |
重大 | C S F S | OPT.JAVA.TRS.CSFS | CSFS:別の同期メソッドから同期メソッドを呼び出してデッドロックを発生させない |
重大 | N S Y N | OPT.JAVA.TRS.NSYN | NSYN:同期コンテキスト外からwait、notify、notifyAllを呼び出さない |
重大 | T H R D | OPT.JAVA.TRS.THRD | THRD:Thread.resume()、Thread.stop()、Thread.suspend()、Runtime.runFinalizersOnExit()の呼び出しの回避 |
重大 | Android Sticky Broadcast | OPT.JAVA.ANDROID.AndroidStickyBroadcast | AndroidStickyBroadcast:スティッキーブロードキャストの回避 |
重大 | Receiver Without Permission | OPT.JAVA.ANDROID.ReceiverWithoutPermission | ReceiverWithoutPermission:ブロードキャストレシーバの登録時にブロードキャスターのパーミッションがない |
重大 | SMS Monitoring | OPT.JAVA.ANDROID.SMSMonitoring | SMSMonitoring:データ入力やコマンドにおけるSMSの使用禁止 |
重大 | Password In Redirect Rule | OPT.JAVA.SEC_JAVA.PasswordInRedirectRule | PasswordInRedirectRule:パスワード管理 - リダイレクト内のパスワード |
重大 | Use A Safe Cipher | OPT.JAVA.ANDROID.UseASafeCipher | UseASafeCipher:ECBモード、またはモードを指定しない暗号化の使用回避 |
重大 | Hardcoded Crypto Key | OPT.JAVA.SEC_JAVA.HardcodedCryptoKey | HardcodedCryptoKey:ハードコードされた暗号鍵 |
重大 | Non Random IV With CBC Mode | OPT.JAVA.SEC_JAVA.NonRandomIVWithCBCMode | NonRandomIVWithCBCMode:CBCモードでランダムな初期化ベクトル(IV)が使用されていない可能性 |
重大 | Weak Cryptographic Hash Rule | OPT.JAVA.SEC_JAVA.WeakCryptographicHashRule | WeakCryptographicHashRule:脆弱な暗号化ハッシュ |
重大 | Weak Encryption Rule | OPT.JAVA.SEC_JAVA.WeakEncryptionRule | WeakEncryptionRule:脆弱な共通鍵暗号アルゴリズム |
高 | Do Not Release Debuggable Apps | OPT.JAVA.ANDROID.DoNotReleaseDebuggableApps | DoNotReleaseDebuggableApps:デバッグ可能なアプリをリリースしない |
高 | Prevent Backup Vulnerability | OPT.JAVA.ANDROID.PreventBackupVulnerability | PreventBackupVulnerability:不適切なバックアップ設定 |
高 | Dynamic Method Invocation | OPT.JAVA.SEC_JAVA.DynamicMethodInvocation | DynamicMethodInvocation:Struts 2における動的メソッド呼び出し |
高 | Insufficient Session Expiration Rule | OPT.JAVA.SEC_JAVA.InsufficientSessionExpirationRule | InsufficientSessionExpirationRule:セッションの有効期限の間隔が正の値であり、制限を超えていないことの確認 |
高 | Play Security Misconfiguration | OPT.JAVA.SEC_JAVA.PlaySecurityMisconfiguration | PlaySecurityMisconfiguration:Playフレームワークのセキュリティ設定ミス |
高 | Web Xml Security Misconfigurations Rule | OPT.JAVA.SEC_JAVA.WebXmlSecurityMisconfigurationsRule | WebXmlSecurityMisconfigurationsRule:web.xml記述子でのセキュリティプロパティの誤設定の回避 |
高 | Prevent Exposition Of All Repositories | OPT.JAVA.SPRING.PreventExpositionOfAllRepositories | PreventExpositionOfAllRepositories:すべてのリポジトリをRESTリソースとして公開しないようにする |
高 | Bind Parameters In Queries | OPT.HIBERNATE.BindParametersInQueries | BindParametersInQueries:HQLおよびネイティブSQLクエリでバインド(または名前付き)パラメータの使用 |
高 | Mock Location | OPT.JAVA.ANDROID.MockLocation | MockLocation:Mock Locationプロバイダの使用の回避 |
高 | Package Manager Get Signatures | OPT.JAVA.ANDROID.PackageManagerGetSignatures | PackageManagerGetSignatures:複数の証明書を悪用される可能性 |
高 | Avoid Multiple Entities Mapped To Same Table | OPT.HIBERNATE.AvoidMultipleEntitiesMappedToSameTable | AvoidMultipleEntitiesMappedToSameTable:同じデータベーステーブルにマップされる複数のエンティティの回避 |
高 | Classes Should Be Their Own Proxy | OPT.HIBERNATE.ClassesShouldBeTheirOwnProxy | ClassesShouldBeTheirOwnProxy:すべての永続クラスはそれ自身のプロキシであるべき |
高 | Close Sessions Where Opened | OPT.HIBERNATE.CloseSessionsWhereOpened | CloseSessionsWhereOpened:セッションが開かれたメソッドでセッションを閉じる |
高 | Declare Private Identifier Setter | OPT.HIBERNATE.DeclarePrivateIdentifierSetter | DeclarePrivateIdentifierSetter:識別子プロパティ(idまたはcomposite-id)のsetterメソッドはプライベートであることが必要 |
高 | Declare Type For Date Property | OPT.HIBERNATE.DeclareTypeForDateProperty | DeclareTypeForDateProperty:設定ファイルでjava.util.Dateプロパティの型を宣言 |
高 | Implement Zero Argument Constructor | OPT.HIBERNATE.ImplementZeroArgumentConstructor | ImplementZeroArgumentConstructor:永続クラスの引数なしのコンストラクタの実装 |
高 | Invalid Property Type Mapping | OPT.HIBERNATE.InvalidPropertyTypeMapping | InvalidPropertyTypeMapping:Hibernateプロパティの型は対応するJavaの型にのみマッピング |
高 | Referenced Class Not Defined | OPT.HIBERNATE.ReferencedClassNotDefined | ReferencedClassNotDefined:設定ファイル(*.hbm.xml)で参照されているクラスは宣言されていることが必要 |
高 | Aapt Crash | OPT.JAVA.ANDROID.AaptCrash | AaptCrash:動的に生成される識別子でのスタイル定義の回避 |
高 | Adapter View Children | OPT.JAVA.ANDROID.AdapterViewChildren | AdapterViewChildren:AdapterViewはxml内で子要素を持つことはできない |
高 | Always Canonicalize URL Received By Content Provider | OPT.JAVA.ANDROID.AlwaysCanonicalizeURLReceivedByContentProvider | AlwaysCanonicalizeURLReceivedByContentProvider:アプリケーションデータへの不適切なアクセスの回避 |
高 | Cross Site Request Forgery Rule | OPT.JAVA.SEC_JAVA.CrossSiteRequestForgeryRule | CrossSiteRequestForgeryRule:クロスサイトリクエストフォージェリ(CSRF) |
高 | Call Super First On Init | OPT.JAVA.ANDROID.CallSuperFirstOnInit | CallSuperFirstOnInit:初期化メソッドで最初にスーパーメソッドの呼び出しを確認 |
高 | Call Super Last On End | OPT.JAVA.ANDROID.CallSuperLastOnEnd | CallSuperLastOnEnd:ファイナライズメソッドで最後にスーパーメソッドの呼び出しを確認 |
高 | External Control Of Configuration Setting | OPT.JAVA.SEC_JAVA.ExternalControlOfConfigurationSetting | ExternalControlOfConfigurationSetting:システム設定または構成設定の外部制御 |
高 | Device Admin | OPT.JAVA.ANDROID.DeviceAdmin | DeviceAdmin:レシーバがデバイス管理者として動作するかの確認 |
高 | Http Parameter Pollution Rule | OPT.JAVA.SEC_JAVA.HttpParameterPollutionRule | HttpParameterPollutionRule:HTTPパラメータ汚染(HPP) |
高 | Dont Use Config | OPT.JAVA.ANDROID.DontUseConfig | DontUseConfig:非推奨のandroid.util.Configの使用回避 |
高 | Dont Use Find View By Id Repeately | OPT.JAVA.ANDROID.DontUseFindViewByIdRepeately | DontUseFindViewByIdRepeately:同じ識別子でのfindViewById()の繰り返し呼び出しの回避 |
高 | Duplicate Ids | OPT.JAVA.ANDROID.DuplicateIds | DuplicateIds:同一レイアウト内でのIDの重複回避 |
高 | JSON Injection | OPT.JAVA.SEC_JAVA.JSONInjection | JSONInjection:JSONエンティティにおける無害化されていないユーザ制御入力の使用の回避(JSONインジェクション) |
高 | Log Forging | OPT.JAVA.SEC_JAVA.LogForging | LogForging:ログの出力の不適切な無害化 |
高 | Grant All Uris | OPT.JAVA.ANDROID.GrantAllUris | GrantAllUris:ルートパスの共有の回避 |
高 | Incorrect Wake Lock Usage | OPT.JAVA.ANDROID.IncorrectWakeLockUsage | IncorrectWakeLockUsage:WakeLockが解除されていることの確認 |
高 | Illegal Resource Ref | OPT.JAVA.ANDROID.IllegalResourceRef | IllegalResourceRef:versionCodeとversionNameのリテラルの確認 |
高 | Open Redirect Rule | OPT.JAVA.SEC_JAVA.OpenRedirectRule | OpenRedirectRule:信頼できないサイトへのURLリダイレクト(オープンリダイレクト) |
高 | Missing Super Call | OPT.JAVA.ANDROID.MissingSuperCall | MissingSuperCall:スーパーメソッドの呼び出し元が実装内にあることの確認 |
高 | Reflected File Download | OPT.JAVA.SEC_JAVA.ReflectedFileDownload | ReflectedFileDownload:入力の不適切な無害化により、ファイルのダウンロードが発生 |
高 | Nested Scrolling | OPT.JAVA.ANDROID.NestedScrolling | NestedScrolling:スクロールウィジェットのネストを回避する |
高 | Resource Injection | OPT.JAVA.SEC_JAVA.ResourceInjection | ResourceInjection:リソース識別子の不適切な制御(リソースインジェクション) |
高 | Reference Type | OPT.JAVA.ANDROID.ReferenceType | ReferenceType:エイリアス型とリソース型は同じでなければならない |
高 | Resource As Color | OPT.JAVA.ANDROID.ResourceAsColor | ResourceAsColor:メソッドの呼び出し引数に色のリソースidの使用を回避 |
高 | Resource Cycle | OPT.JAVA.ANDROID.ResourceCycle | ResourceCycle:リソース定義にResourceCycleは禁止 |
高 | Scroll View Size | OPT.JAVA.ANDROID.ScrollViewSize | ScrollViewSize:ScrollViewの子のlayout_width属性とlayout_height属性の確認 |
高 | Sd Card Path | OPT.JAVA.ANDROID.SdCardPath | SdCardPath:SDカードパスへのハードコード参照の回避 |
高 | Scroll View Count | OPT.JAVA.ANDROID.ScrollViewCount | ScrollViewCount:ScrollViewの子は1つだけであることを確認 |
高 | Text View Edits | OPT.JAVA.ANDROID.TextViewEdits | TextViewEdits:TextViewが正しく使われているかを確認 |
高 | Use Check Permission | OPT.JAVA.ANDROID.UseCheckPermission | UseCheckPermission:パーミッションチェックの結果の使用 |
高 | Use Serialization Judiciously | OPT.JAVA.ANDROID.UseSerializationJudiciously | UseSerializationJudiciously:Serializationの代わりにJSONの使用 |
高 | Uses Min Sdk Attributes | OPT.JAVA.ANDROID.UsesMinSdkAttributes | UsesMinSdkAttributes:必要なAPIレベルが指定されているかの確認 |
高 | Wrong View Cast | OPT.JAVA.ANDROID.WrongViewCast | WrongViewCast:割り当てられたidを持つビューのタイプの確認 |
高 | Wait Sleep In Activit | OPT.JAVA.ANDROID.WaitSleepInActivit | WaitSleepInActivit:アクティビティでのThread.waitやThread.sleepの使用の回避 |
高 | J DB C | OPT.JAVA.BEANS.JDBC | JDBC:BeanクラスでのJDBCの使用回避 |
高 | S Z B L | OPT.JAVA.BEANS.SZBL | SZBL:Beanクラスがjava.io.Serializableを実装していることを確認 |
高 | Avoid Use Replace Methods Rule | OPT.JAVA.CADCAR.AvoidUseReplaceMethodsRule | AvoidUseReplaceMethodsRule:正規表現を想定しているStringメソッドで「.」(ドット文字)を使用しない |
高 | P J D C C | OPT.JAVA.CDCI.PJDCC | PJDCC:publicなクラスとインタフェースにはJavadocコメントを付ける |
高 | S Y N | OPT.JAVA.CFFSERVLET.SYN | SYN:サーブレットのsynchronizedの使用の最小化 |
高 | C T N L | OPT.JAVA.CMETRICS.CTNL | CTNL:コード行が多すぎるクラス/インタフェースの回避 |
高 | N O F | OPT.JAVA.CMETRICS.NOF | NOF:フィールドの最大許容数 |
高 | N O M | OPT.JAVA.CMETRICS.NOM | NOM:メソッドの最大許容数 |
高 | T C C | OPT.JAVA.CMETRICS.TCC | TCC:循環的な複雑度 |
高 | A A I | OPT.JAVA.CNU.AAI | AAI:インタフェースでの不必要な修飾子の使用回避 |
高 | D I | OPT.JAVA.CNU.DI | DI:インポートの重複回避 |
高 | E I | OPT.JAVA.CNU.EI | EI:多すぎるインポート行の回避 |
高 | E P N U | OPT.JAVA.CNU.EPNU | EPNU:未使用パラメータの回避 |
高 | E V N U | OPT.JAVA.CNU.EVNU | EVNU:未使用のローカル変数の回避 |
高 | P F | OPT.JAVA.CNU.PF | PF:未使用のprivateフィールドの回避 |
高 | P M | OPT.JAVA.CNU.PM | PM:未使用のprivateメソッドとコンストラクタの回避 |
高 | U I | OPT.JAVA.CNU.UI | UI:未使用のインポートの回避 |
高 | E I S | OPT.JAVA.COL.EIS | EIS:コレクションに対して並行した反復処理の回避 |
高 | Equals Hash Code | OPT.JAVA.COMP.EqualsHashCode | EqualsHashCode:java.lang.Object.equals()とjava.lang.Object.hashCode()は常に上書きする |
高 | Method Equals | OPT.JAVA.COMP.MethodEquals | MethodEquals:メソッド名がequals()であり、equal()でないことの確認 |
高 | Avoid Return Object | OPT.JAVA.CONV.AvoidReturnObject | AvoidReturnObject:戻り値はjava.lang.Objectではなく特定の型にする |
高 | Avoid Method Invok Only Super Method | OPT.JAVA.DECL.AvoidMethodInvokOnlySuperMethod | AvoidMethodInvokOnlySuperMethod:上書きされたスーパーメソッドのみを呼び出すメソッドの回避 |
高 | Avoid Not Use Field | OPT.JAVA.DECL.AvoidNotUseField | AvoidNotUseField:未使用フィールドの回避 |
高 | Correct Hash Code | OPT.JAVA.DECL.CorrectHashCode | CorrectHashCode:hashCode()メソッドのスペルが正しいことを確認 |
高 | Correct To String | OPT.JAVA.DECL.CorrectToString | CorrectToString:メソッド名がtostring()ではなくtoString()であることを確認 |
高 | Declare Equals Method Of Compareable | OPT.JAVA.DECL.DeclareEqualsMethodOfCompareable | DeclareEqualsMethodOfCompareable:java.lang.Comparableを実装するクラスでは、常にequals()メソッドを宣言 |
高 | Signature Standard Equals | OPT.JAVA.DECL.SignatureStandardEquals | SignatureStandardEquals:equalsメソッドには常に標準的な記述方式を使用 |
高 | Make your clone() method final for security | OPT.JAVA.DECLARA.CLONE | CLONE:Cloneableクラスのclone()はCloneNotSupportedExceptionをスローする |
高 | Trust Boundary Violation Rule | OPT.JAVA.SEC_JAVA.TrustBoundaryViolationRule | TrustBoundaryViolationRule:信頼境界線違反 |
高 | U C C | OPT.JAVA.DECLARA.UCC | UCC:staticメンバを持つクラスのprivateコンストラクタ |
高 | Avoid Remote Exception | OPT.JAVA.EJB.AvoidRemoteException | AvoidRemoteException:RemoteインタフェースのメソッドからはRemoteExceptionをスローする |
高 | Dont Avoid Remote Exception | OPT.JAVA.EJB.DontAvoidRemoteException | DontAvoidRemoteException:ローカルインタフェースのメソッドから「java.rmi.RemoteException」のスロー禁止 |
高 | Public Constructor Without Parameters | OPT.JAVA.EJB.PublicConstructorWithoutParameters | PublicConstructorWithoutParameters:すべてのEJBクラスは、パラメータを持たないpublicコンストラクタを持つことが必要 |
高 | Reuse EJB Home Instances | OPT.JAVA.EJB.ReuseEJBHomeInstances | ReuseEJBHomeInstances:常にEJBHomeインスタンスを再利用する |
高 | Avoid New Throwable | OPT.JAVA.EXCP.AvoidNewThrowable | AvoidNewThrowable:java.lang.Throwableの新しいインスタンスの作成の回避 |
高 | Avoid Null Pointer Exception | OPT.JAVA.EXCP.AvoidNullPointerException | AvoidNullPointerException:NullPointerExceptionの例外キャッチの回避 |
高 | Avoid Throw Error | OPT.JAVA.EXCP.AvoidThrowError | AvoidThrowError:java.lang.Errorのスローの回避 |
高 | Avoid Throw Runtime Excetions | OPT.JAVA.EXCP.AvoidThrowRuntimeExcetions | AvoidThrowRuntimeExcetions:RuntimeExceptionのスローの回避 |
高 | Avoid Empty Methods Finalize | OPT.JAVA.FIN.AvoidEmptyMethodsFinalize | AvoidEmptyMethodsFinalize:空のfinalize()メソッドの回避 |
高 | Avoid Overload Finalize | OPT.JAVA.FIN.AvoidOverloadFinalize | AvoidOverloadFinalize:メソッドfinalize()のオーバーロードの回避 |
高 | Dont Call Finalize | OPT.JAVA.FIN.DontCallFinalize | DontCallFinalize:明示的にfinalize()を呼び出さない |
高 | N C A C | OPT.JAVA.FMETODOS.NCAC | NCAC:abstractクラスのコンストラクタからabstractメソッドの呼び出し禁止 |
高 | O V E R R I D E | OPT.JAVA.FMETODOS.OVERRIDE | OVERRIDE:Object.hashCode()をオーバーライドする場合は、Object.equals()もオーバーライド |
高 | A U T P | OPT.JAVA.GC.AUTP | AUTP:プリミティブデータ型を文字列に変換する際の不要な一時的ラッパーオブジェクトの回避 |
高 | D U D | OPT.JAVA.GC.DUD | DUD:Date[]の代わりにlong[]を使用 |
高 | F C F | OPT.JAVA.GC.FCF | FCF:finalize()からsuper.finalize()を呼び出す |
高 | OS T M | OPT.JAVA.GC.OSTM | OSTM:reset()またはclose()を呼び出すことで、ObjectOutputStreamsの潜在的なメモリリークの防止 |
高 | S T V | OPT.JAVA.GC.STV | STV:staticのコレクションの回避 |
高 | Avoid Call Interrupted Object | OPT.JAVA.HEB.AvoidCallInterruptedObject | AvoidCallInterruptedObject:任意のスレッドでのThread.interrupted()の呼び出し回避 |
高 | Avoid Call Run | OPT.JAVA.HEB.AvoidCallRun | AvoidCallRun:Thread.run()の呼び出し回避 |
高 | Avoid Sleep Inside While | OPT.JAVA.HEB.AvoidSleepInsideWhile | AvoidSleepInsideWhile:while()やsleep()の使用を避け、代わりにwait()やnotify()の使用 |
高 | Avoid Synchronized Blocks Notify | OPT.JAVA.HEB.AvoidSynchronizedBlocksNotify | AvoidSynchronizedBlocksNotify:ステートメントとしてnotify()またはnotifyAll()を呼び出す同期ブロックの回避 |
高 | Avoid Synchronized Object Lock | OPT.JAVA.HEB.AvoidSynchronizedObjectLock | AvoidSynchronizedObjectLock:java.util.concurrent.locks.Lockオブジェクトの同期の回避 |
高 | Avoid Thread Destroy | OPT.JAVA.HEB.AvoidThreadDestroy | AvoidThreadDestroy:java.lang.Thread.destroyの呼び出し回避 |
高 | Avoid Static Instance Class Without Fields | OPT.JAVA.INIC.AvoidStaticInstanceClassWithoutFields | AvoidStaticInstanceClassWithoutFields:すべてのstaticフィールドが初期化される前の、staticイニシャライザでの新しいオブジェクト生成の回避 |
高 | A M I | OPT.JAVA.INICIA.AMI | AMI:1行で複数の変数を同じ値で初期化しない |
高 | N F S | OPT.JAVA.INICIA.NFS | NFS:初期化処理時では、final宣言されていないstaticフィールドの使用は禁止 |
高 | S F | OPT.JAVA.INICIA.SF | SF:すべてのstaticフィールドの初期化 |
高 | Avoid System Out Err | OPT.JAVA.IO.AvoidSystemOutErr | AvoidSystemOutErr:ログ出力にはSystem.outやSystem.errの代わりに独自のライブラリの使用 |
高 | C S | OPT.JAVA.IO.CS | CS:finallyブロックで入出力リソースを閉じる |
高 | Dont Use Print Stack Trace | OPT.JAVA.IO.DontUsePrintStackTrace | DontUsePrintStackTrace:printStackTraceメソッドを使用禁止 |
高 | F I L B U F | OPT.JAVA.IO.FILBUF | FILBUF:すべての入出力リソースは、バッファを持つことが必要 |
高 | S I E | OPT.JAVA.IO.SIE | SIE:System.err.print()およびSytem.err.println()ステートメントの使用回避 |
高 | S I O | OPT.JAVA.IO.SIO | SIO:System.out.println()およびSystem.out.print()ステートメントの使用回避 |
高 | Avoid Security Manager | OPT.JAVA.J2EE.AvoidSecurityManager | AvoidSecurityManager:java.lang.SecurityManagerの使用回避 |
高 | Avoid Set Property | OPT.JAVA.J2EE.AvoidSetProperty | AvoidSetProperty:java.security.setProperty()の呼び出し回避 |
高 | Dont Extend Class Loader | OPT.JAVA.J2SE.DontExtendClassLoader | DontExtendClassLoader:java.lang.ClassLoaderの継承は禁止 |
高 | Final Class Extends Permission | OPT.JAVA.J2SE.FinalClassExtendsPermission | FinalClassExtendsPermission:java.security.Permissionを継承するクラスはfinal宣言が必要 |
高 | Unsafe Reflection | OPT.JAVA.SEC_JAVA.UnsafeReflection | UnsafeReflection:クラスまたはコードを選択するための外部制御入力の使用(安全でないリフレクション) |
高 | XPath Injection Rule | OPT.JAVA.SEC_JAVA.XPathInjectionRule | XPathInjectionRule:XPath式内のデータの不適切な無害化(XPathインジェクション) |
高 | Xslt Injection | OPT.JAVA.SEC_JAVA.XsltInjection | XsltInjection:XML インジェクション(別名、ブラインドXPathインジェクション) |
高 | Use Cache With Idempotent And Safe Methods | OPT.JAVA.JAX.UseCacheWithIdempotentAndSafeMethods | UseCacheWithIdempotentAndSafeMethods:冪等(べきとう:同じ結果になる)であり安全なHTTPメソッドではキャッシュの使用 |
高 | Validate Endpoint Business Methods | OPT.JAVA.JAX.ValidateEndpointBusinessMethods | ValidateEndpointBusinessMethods:エンドポイント実装クラスのビジネスメソッドは、いくつかの要件に従うことが必要 |
高 | Validate Endpoint Implementation Class | OPT.JAVA.JAX.ValidateEndpointImplementationClass | ValidateEndpointImplementationClass:エンドポイントの実装クラスは、いくつかの要件に従うことが必要 |
高 | C DB C | OPT.JAVA.JDBC.CDBC | CDBC:JDBC接続をfinallyブロックで閉じる |
高 | U P C | OPT.JAVA.JDBC.UPC | UPC:コネクションプールの使用 |
高 | Avoid Contructors Config Tests | OPT.JAVA.JUNIT_JAVA.AvoidContructorsConfigTests | AvoidContructorsConfigTests:テストケースの設定にコンストラクタの使用禁止 |
高 | C E L | OPT.JAVA.LOOP.CEL | CEL:ループ内でのメソッド呼び出しの使用回避 |
高 | L O O P2 | OPT.JAVA.LOOP.LOOP2 | LOOP2:ループ本体で一時オブジェクトのインスタンス化は禁止 |
高 | P I | OPT.JAVA.LOOP.PI | PI:whileループで問題のある構文の回避 |
高 | S Y N | OPT.JAVA.LOOP.SYN | SYN:ループ内での同期メソッド/ブロックの呼び出しの回避 |
高 | T R Y | OPT.JAVA.LOOP.TRY | TRY:ループ内でのtry文の使用の回避 |
高 | Avoid Empty Jar Zip | OPT.JAVA.MEM.AvoidEmptyJarZip | AvoidEmptyJarZip:空のJARやZIPファイルの作成回避 |
高 | Avoid Throw Inside Finally | OPT.JAVA.MEM.AvoidThrowInsideFinally | AvoidThrowInsideFinally:finallyブロック内でコマンドのスローの回避 |
高 | L E V E L | OPT.JAVA.OOP.LEVEL | LEVEL:ネストが多すぎる内部クラスの回避 |
高 | A E C B | OPT.JAVA.PB.AECB | AECB:空のボディを持つキャッチブロックの回避 |
高 | C L P | OPT.JAVA.PB.CLP | CLP:プリミティブデータ型の低い精度へのキャストの回避 |
高 | D C F | OPT.JAVA.PB.DCF | DCF:浮動小数点型の比較の回避 |
高 | D C P | OPT.JAVA.PB.DCP | DCP:文字列連結演算子(+)を数字の連結に使用するのは避け、数値の加算にのみ使用 |
高 | D N I F | OPT.JAVA.PB.DNIF | DNIF:入れ子のレベルが多すぎるIF文の回避 |
高 | D S U P | OPT.JAVA.PB.DSUP | DSUP: switch文の最後にdefault句を置く - case |
高 | E M S I | OPT.JAVA.PB.EMSI | EMSI:空のstaticブロックの回避 |
高 | E Q L | OPT.JAVA.PB.EQL | EQL:equals()メソッドの実装ではgetClass()を使用 |
高 | E Q L2 | OPT.JAVA.PB.EQL2 | EQL2:equals()メソッドの実装内でinstanceofを使用 |
高 | E S B L | OPT.JAVA.PB.ESBL | ESBL: 空の同期ブロックの回避 |
高 | F E B | OPT.JAVA.PB.FEB | FEB:「for」や「while」で空の本体の回避 |
高 | F L V A | OPT.JAVA.PB.FLVA | FLVA:forループの本体でループ制御変数に代入することは禁止 |
高 | I E B | OPT.JAVA.PB.IEB | IEB: 本体が空のif文の回避 |
高 | M A I N | OPT.JAVA.PB.MAIN | MAIN:メソッド名main()は、エントリーポイントのメソッドにのみ使用 |
高 | Don't use masterpage files C | OPT.JAVA.PB.MPC | MPC:クラスのメンバ名と競合するパラメータメソッド名の回避 |
高 | N D C | OPT.JAVA.PB.NDC | NDC:ErrorとThrowableの直接的または間接的なサブクラスの定義の回避 |
高 | N X R E | OPT.JAVA.PB.NXRE | NXRE:RuntimeExceptionの直接的または間接的なサブクラスの定義の回避 |
高 | Non Heritable Exception Classes | OPT.JAVA.PB.NonHeritableExceptionClasses | NonHeritableExceptionClasses:特定のクラスを継承する例外の定義禁止 |
高 | P D S | OPT.JAVA.PB.PDS | PDS:各switch文に「default」ラベルを指定 |
高 | S B C | OPT.JAVA.PB.SBC | SBC:不正なcase文によるswitch文の使用の回避 |
高 | S B D F | OPT.JAVA.PB.SBDF | SBDF:switch文のdefaultラベルにbreakまたはreturnステートメントの指定 |
高 | U E I2 | OPT.JAVA.PB.UEI2 | UEI2:文字列の比較にequals()の使用 |
高 | U F S T | OPT.JAVA.PB.UFST | UFST:条件なしのIfブロックの回避 |
高 | Avoid File Separators | OPT.JAVA.PORT.AvoidFileSeparators | AvoidFileSeparators:java.io.Fileでファイルを作成する際に、コードにディレクトリ区切り文字を直接書き込まない |
高 | Avoid Implement Peer Interfaces | OPT.JAVA.PORT.AvoidImplementPeerInterfaces | AvoidImplementPeerInterfaces:java.awt.peerインタフェースの実装の回避 |
高 | Avoid Call Bean From Servlet | OPT.JAVA.RECBAS.AvoidCallBeanFromServlet | AvoidCallBeanFromServlet:サーブレットのfinalize()メソッドからjava.bean.*の呼び出し回避 |
高 | Avoid Call SQL From Servlet | OPT.JAVA.RECBAS.AvoidCallSQLFromServlet | AvoidCallSQLFromServlet:サーブレットのfinalize()メソッドからjavax.sql.*の呼び出し回避 |
高 | Avoid Get Declared Field | OPT.JAVA.REFL.AvoidGetDeclaredField | AvoidGetDeclaredField:java.lang.Class.getDeclaredFieldの呼び出し回避 |
高 | Avoid Call Driver Manager From Servlet | OPT.JAVA.RENDESC.AvoidCallDriverManagerFromServlet | AvoidCallDriverManagerFromServlet:サーブレットからjava.sql.DriverManagerの呼び出し回避 |
高 | Avoid Call Process From Servlet | OPT.JAVA.RENDESC.AvoidCallProcessFromServlet | AvoidCallProcessFromServlet:サーブレットからjava.lang.Processの呼び出し回避 |
高 | Avoid Call System From Servlet | OPT.JAVA.RENDESC.AvoidCallSystemFromServlet | AvoidCallSystemFromServlet:サーブレットからjava.lang.Systemの呼び出し回避 |
高 | P J D C F | OPT.JAVA.RGD.PJDCF | PJDCF:publicフィールドにはJavadocコメントを付ける |
高 | A S F I | OPT.JAVA.RGM.ASFI | ASFI:abstractメソッドとstatic finalフィールドのみを持つクラスをインターフェイスとして再宣言する |
高 | C T O R | OPT.JAVA.RGM.CTOR | CTOR:コンストラクタからのfinalでもstaticでもprivateでもないメソッドの呼び出し回避 |
高 | M S F | OPT.JAVA.RGM.MSF | MSF:「finalでないstatic」のフィールドの多用回避 |
高 | N U O T | OPT.JAVA.RGM.NUOT | NUOT:三項演算子の使用禁止 |
高 | A R L L | OPT.JAVA.RGME.ARLL | ARLL:ループ条件下で配列の「length」プロパティへのアクセス禁止 |
高 | A G Q S | OPT.JAVA.RGOR.AGQS | AGQS:getQueryString()の代わりに、getParameter()の使用 |
高 | A M C O | OPT.JAVA.RGOR.AMCO | AMCO:同じオブジェクトや変数に繰り返しキャストの回避(各タイプのキャストは最大3つまで) |
高 | Dont Use Reflection | OPT.JAVA.RGOR.DontUseReflection | DontUseReflection:リフレクションの使用回避 |
高 | E I O F | OPT.JAVA.RGOR.EIOF | EIOF:型のテストを行うif/else-ifチェーンの回避 |
高 | S D F | OPT.JAVA.RGOR.SDF | SDF:日付書式クラスjava.text.SimpleDateFormatは多くのリソースを使用 |
高 | Avoid Runtime And System Classes | OPT.JAVA.RGP.AvoidRuntimeAndSystemClasses | AvoidRuntimeAndSystemClasses:RuntimeクラスとSystemクラスの使用禁止 |
高 | Do not use applets in an application client | OPT.JAVA.RGS.NUA | NUA:アプリケーションクライアント層でアプレットの使用禁止 |
高 | Transient fields in Serializable classes | OPT.JAVA.RGS.SER | SER:「Serializable」クラスの「Transient」フィールド |
高 | Avoid EJB Explicit Server Socket | OPT.JAVA.SEC_JAVA.AvoidEJBExplicitServerSocket | AvoidEJBExplicitServerSocket:EJBの不適切な実装:Socketの使用 |
高 | Avoid EJB Explicit Thread Management | OPT.JAVA.SEC_JAVA.AvoidEJBExplicitThreadManagement | AvoidEJBExplicitThreadManagement:EJBでの明示的なスレッド管理の回避 |
高 | Avoid J2EE Jvm Exit | OPT.JAVA.SEC_JAVA.AvoidJ2EEJvmExit | AvoidJ2EEJvmExit:J2EE アプリケーションのJVMシャットダウンコードの回避 |
高 | Cookies In Security Decision | OPT.JAVA.SEC_JAVA.CookiesInSecurityDecision | CookiesInSecurityDecision:セキュリティ決定における検証と整合性チェックなしのCookieへの依存 |
高 | Database Access Control Rule | OPT.JAVA.SEC_JAVA.DatabaseAccessControlRule | DatabaseAccessControlRule:特定のクラス以外からのデータベースへのクエリの回避 |
高 | J2ee File Disclosure Rule | OPT.JAVA.SEC_JAVA.J2eeFileDisclosureRule | J2eeFileDisclosureRule:サーバー側のJ2EE forward/includeでのファイル公開 |
高 | Not Overridable Method Rule | OPT.JAVA.SEC_JAVA.NotOverridableMethodRule | NotOverridableMethodRule:オーバーライドできないメソッド |
高 | Race Condition Format Flaw | OPT.JAVA.SEC_JAVA.RaceConditionFormatFlaw | RaceConditionFormatFlaw:不適切な同期処理で共有リソースを使用した同時実行(競合状態) |
高 | Race Condition Servlet | OPT.JAVA.SEC_JAVA.RaceConditionServlet | RaceConditionServlet:Javaサーブレットにおける競合状態 |
高 | Security Check In Overridable Method Rule | OPT.JAVA.SEC_JAVA.SecurityCheckInOverridableMethodRule | SecurityCheckInOverridableMethodRule:セキュリティチェックを実行するメソッドは、privateまたはfinalとして宣言することが必要 |
高 | Spring No Anti Xss Configuration | OPT.JAVA.SEC_JAVA.SpringNoAntiXssConfiguration | SpringNoAntiXssConfiguration:デフォルトのHTMLエスケープの使用(OWASP-2021: [A5]、WASC: [08]、PCI DSS: [6.5.7]、ASVS-v4.0.2: [3.4.5] ) |
高 | Unhandled SSL Exception Rule | OPT.JAVA.SEC_JAVA.UnhandledSSLExceptionRule | UnhandledSSLExceptionRule:未処理のSSL例外 |
高 | User Controlled SQL Primary Key | OPT.JAVA.SEC_JAVA.UserControlledSQLPrimaryKey | UserControlledSQLPrimaryKey:ユーザ制御の主キーのクエリ使用禁止 |
高 | Avoid Call Next In Has Next | OPT.JAVA.SENT.AvoidCallNextInHasNext | AvoidCallNextInHasNext:hasNext()の中でのnext()の呼び出し回避 |
高 | Avoid Call Set Size Inside Component Resized | OPT.JAVA.SENT.AvoidCallSetSizeInsideComponentResized | AvoidCallSetSizeInsideComponentResized:componentResized()内からのsetSize()の呼び出し回避 |
高 | Avoid Empty Sentences Switch | OPT.JAVA.SENT.AvoidEmptySentencesSwitch | AvoidEmptySentencesSwitch:空のswitch文の回避 |
高 | Avoid Declare Method Read Object | OPT.JAVA.SERI.AvoidDeclareMethodReadObject | AvoidDeclareMethodReadObject:readObject()メソッドのsynchronized宣言の回避 |
高 | Avoid Serializable Classes | OPT.JAVA.SERI.AvoidSerializableClasses | AvoidSerializableClasses:シリアライズ可能な内部クラスを持つ、シリアライズ不可能なクラスの回避 |
高 | Always Use Ids As Bean Identifiers | OPT.JAVA.SPRING.AlwaysUseIdsAsBeanIdentifiers | AlwaysUseIdsAsBeanIdentifiers:JavaBeansのid属性をJavaBeansの識別子として使う |
高 | Avoid Beans With The Same Id Across Diferent Descriptors | OPT.JAVA.SPRING.AvoidBeansWithTheSameIdAcrossDiferentDescriptors | AvoidBeansWithTheSameIdAcrossDiferentDescriptors:JavaBeansのid属性がすべてのXML構成ファイルで一意であることを確認 |
高 | Avoid Hardcoding Null | OPT.JAVA.SPRING.AvoidHardcodingNull | AvoidHardcodingNull:プロパティやパラメータをハードコードされたnullで初期化することは避ける |
高 | Avoid Retrieving More Than One Batch At Time | OPT.JAVA.SPRING.AvoidRetrievingMoreThanOneBatchAtTime | AvoidRetrievingMoreThanOneBatchAtTime:一度に複数のアイテムのSpring Batchの取得回避 |
高 | Avoid Using Default Package With Auto Scanning | OPT.JAVA.SPRING.AvoidUsingDefaultPackageWithAutoScanning | AvoidUsingDefaultPackageWithAutoScanning:Springの自動スキャン機能を使う際は、デフォルトパッケージの使用の回避 |
高 | Avoid Wildcards When Loading Resource From Class Path | OPT.JAVA.SPRING.AvoidWildcardsWhenLoadingResourceFromClassPath | AvoidWildcardsWhenLoadingResourceFromClassPath:クラスパスからリソースをロードする際のワイルドカードの使用回避 |
高 | Enable Auto Configuration Annotation Must Be Unique | OPT.JAVA.SPRING.EnableAutoConfigurationAnnotationMustBeUnique | EnableAutoConfigurationAnnotationMustBeUnique:EnableAutoConfigurationのアノテーションは一意であることが必要 |
高 | Refer Imported Resources To The Classpath | OPT.JAVA.SPRING.ReferImportedResourcesToTheClasspath | ReferImportedResourcesToTheClasspath:インポートされたリソースをクラスパスに参照する |
高 | Use A Proper Base Package When Using Component Scanning | OPT.JAVA.SPRING.UseAProperBasePackageWhenUsingComponentScanning | UseAProperBasePackageWhenUsingComponentScanning:コンポーネントスキャン機能を使う際は、適切なベースパッケージを使用 |
高 | Use A Top Package For Main Application Class | OPT.JAVA.SPRING.UseATopPackageForMainApplicationClass | UseATopPackageForMainApplicationClass:メインのアプリケーションクラスはルートパッケージに属さなければならない |
高 | Use Constructor Based Dependency Injection | OPT.JAVA.SPRING.UseConstructorBasedDependencyInjection | UseConstructorBasedDependencyInjection:コンストラクタインジェクション(Constructor Based Dependency Injection)の使用 |
高 | A C D O | OPT.JAVA.STR.ACDO | ACDO:Stringクラスのコンストラクタの使用防止 |
高 | P C T S | OPT.JAVA.STR.PCTS | PCTS:1文字の比較には、startsWith()の代わりにcharAt()を使用 |
高 | S T OS | OPT.JAVA.STR.STOS | STOS: 文字列でのtoStringメソッドの使用の回避 |
高 | Usb In Loop | OPT.JAVA.STR.UsbInLoop | UsbInLoop:ループ内での文字列連結演算子「+」の回避 |
高 | U S C | OPT.JAVA.STR.USC | USC:変更されることのない文字列はStringBufferに保存しない |
高 | Switch Fully Covers Enumeration | OPT.JAVA.SWITCH.SwitchFullyCoversEnumeration | SwitchFullyCoversEnumeration:既存の列挙要素のswitch文にはdefault句と、要素と同じ数のcase句の使用 |
高 | A N F | OPT.JAVA.TRS.ANF | ANF:notifyの使用を避け、代わりにnotifyAll()の使用 |
高 | Avoid using variables oftype java.lang.ThreadGroup | OPT.JAVA.TRS.AUTG | AUTG:java.lang.ThreadGroup型の変数の使用回避 |
高 | M R U N | OPT.JAVA.TRS.MRUN | MRUN:スレッドのサブクラスにはrun()メソッドが必要 |
高 | N S M | OPT.JAVA.TRS.NSM | NSM:メソッド宣言でのsynchronized修飾子の使用回避 |
高 | Avoid Ejs | OPT.JAVA.WEBS.AvoidEjs | AvoidEjs:com.ibm.ejs.*パッケージの使用回避 |
高 | Avoid Ws | OPT.JAVA.WEBS.AvoidWs | AvoidWs:com.ibm.wsおよびcom.ibm.websphereパッケージの使用回避 |
高 | Context Sensitive Data Is Kept Secure | OPT.JAVA.ANDROID.ContextSensitiveDataIsKeptSecure | ContextSensitiveDataIsKeptSecure:コンテキストによって作成されたデータへの不適切なアクセスの回避 |
高 | N IP | OPT.JAVA.DECLARA.NIP | NIP:ソースコードにおけるIPアドレスの書き込み禁止 |
高 | Avoid Exposing All Endpointl Public Methods | OPT.JAVA.JAX.AvoidExposingAllEndpointlPublicMethods | AvoidExposingAllEndpointlPublicMethods:すべてのpublicメソッドの露出を避けるために、エンドポイントインターフェースを指定 |
高 | Information Exposure Through Error Message | OPT.JAVA.SEC_JAVA.InformationExposureThroughErrorMessage | InformationExposureThroughErrorMessage:エラーメッセージによる機密情報の露出の回避 |
高 | Packaged Private Key | OPT.JAVA.ANDROID.PackagedPrivateKey | PackagedPrivateKey:パッケージに秘密鍵ファイルの格納回避 |
高 | Secure Random | OPT.JAVA.ANDROID.SecureRandom | SecureRandom:SecureRandomは固定シード(fixed seed)での使用禁止 |
高 | Hardcoded Salt Rule | OPT.JAVA.SEC_JAVA.HardcodedSaltRule | HardcodedSaltRule:安全でないハードコードされたソルト |
高 | Inadequate Padding Rule | OPT.JAVA.SEC_JAVA.InadequatePaddingRule | InadequatePaddingRule:不十分なパディング |
高 | Insecure Randomness Rule | OPT.JAVA.SEC_JAVA.InsecureRandomnessRule | InsecureRandomnessRule:安全でない標準的な擬似乱数生成器 |
高 | Insecure Transport | OPT.JAVA.SEC_JAVA.InsecureTransport | InsecureTransport:安全でない送信 |
高 | Insufficient Key Size Rule | OPT.JAVA.SEC_JAVA.InsufficientKeySizeRule | InsufficientKeySizeRule:脆弱な暗号方式・鍵長の検出 |
情報 | Dont Modify Access Security | OPT.JAVA.EJB.DontModifyAccessSecurity | DontModifyAccessSecurity:java.security設定オブジェクト(Policy、Security、Provider、Principal、KeyStore)へのアクセスや変更の禁止 |
情報 | Action names must end in Action | OPT.JAVA.ACTIONS.BNMC | BNMC:アクション名はActionで終わること |
情報 | Use a defined package for Actions | OPT.JAVA.ACTIONS.MAUB | MAUB:アクションに定義されたパッケージを使用する |
情報 | Avoid Actions with a simple forward | OPT.JAVA.ACTIONS.OROP | OROP:単純なフォワードを行うアクションの回避 |
情報 | Declare unique exception for Actions | OPT.JAVA.ACTIONS.THME | THME:一意の例外をスローするActionメソッドを宣言する |
情報 | Avoid Creating Unnecesary Objects | OPT.JAVA.ANDROID.AvoidCreatingUnnecesaryObjects | AvoidCreatingUnnecesaryObject:文字列の作成の回避 |
情報 | Avoid Internal Getter Setter | OPT.JAVA.ANDROID.AvoidInternalGetterSetter | AvoidInternalGetterSetter:getter/setterの内部使用を回避 |
情報 | Private Inner Class Access | OPT.JAVA.ANDROID.PrivateInnerClassAccess | PrivateInnerClassAccess:プライベートな内部クラスによるプライベートなアクセス方法に代わるパッケージの考慮 |
情報 | Use Value Of | OPT.JAVA.ANDROID.UseValueOf | UseValueOf:ラッパークラスのコンストラクタ呼び出しの回避 |
情報 | E Q U A L | OPT.JAVA.BEANS.EQUAL | EQUAL:JavaBeanクラスのObject.equals()メソッドをオーバーライドする |
情報 | Avoid Call To String | OPT.JAVA.CADCAR.AvoidCallToString | AvoidCallToString:Stringオブジェクトに対するtoString()の呼び出しの回避 |
情報 | M D J D T | OPT.JAVA.CDCI.MDJDT | MDJDT:クラスとインターフェースのJavadocコメントで@deprecatedタグの使用 |
情報 | M J J D T | OPT.JAVA.CDCI.MJJDT | MJJDT:クラスとインターフェースのJavadocコメントで@sinceタグの使用 |
情報 | M S J D T | OPT.JAVA.CDCI.MSJDT | MSJDT:クラスとインターフェースのJavadocコメントで@seeタグの使用 |
情報 | P J D C C4 | OPT.JAVA.CDCI.PJDCC4 | PJDCC4:プライベートクラスとインターフェースにJavadocコメントを付ける |
情報 | M R D C2 | OPT.JAVA.CDM.MRDC2 | MRDC2:Javadocコメントで、protectedメソッドに@returnタグを使用 |
情報 | M R D C4 | OPT.JAVA.CDM.MRDC4 | MRDC4:Javadocコメントで、privateメソッドに@returnタグを使用 |
情報 | P A R A M2 | OPT.JAVA.CDM.PARAM2 | PARAM2:Javadocコメントで、protectedメソッドの各パラメーターに@paramタグを使用 |
情報 | P A R A M4 | OPT.JAVA.CDM.PARAM4 | PARAM4:Javadocコメントで、privateメソッドの各パラメータに対して@paramタグを使用 |
情報 | T H R O W2 | OPT.JAVA.CDM.THROW2 | THROW2:Javadocコメントで、protectedメソッドには@throwsまたは@exceptionタグを使用 |
情報 | T H R O W4 | OPT.JAVA.CDM.THROW4 | THROW4:Javadocコメントで、privateメソッドには@throwsまたは@exceptionタグを使用 |
情報 | C R T E | OPT.JAVA.CFFEJB.CRTE | CRTE:ejbCreate()メソッドは、staticでもfinalでもなくpublicの宣言をする |
情報 | F N D M | OPT.JAVA.CFFEJB.FNDM | FNDM:finderメソッドは、staticでもfinalでもなくpublicの宣言をする |
情報 | P C R T E | OPT.JAVA.CFFEJB.PCRTE | PCRTE:ejbPostCreate()メソッドは、staticでもfinalでもなくpublicの宣言をする |
情報 | A L B L | OPT.JAVA.CNOM.ALBL | ALBL:コードブロックを中括弧で囲む正当性 |
情報 | E L E M | OPT.JAVA.CNOM.ELEM | ELEM:Javaのすべての要素(変数、メソッド、コンストラクタ)は、命名規則に遵守 |
情報 | I F V | OPT.JAVA.CNOM.IFV | IFV:インターフェイスのフィールド名には、すべて大文字を使う |
情報 | N N M A | OPT.JAVA.CNOM.NNMA | NNMA:Javaパッケージの命名規則に遵守 |
情報 | Avoid Short If Else | OPT.JAVA.COND.AvoidShortIfElse | AvoidShortIfElse:短い条件でのif else文の使用回避 |
情報 | Avoid Unnecessary Constructor | OPT.JAVA.CONST.AvoidUnnecessaryConstructor | AvoidUnnecessaryConstructor:不要なコンストラクタの回避 |
情報 | Avoid Local Variables Differ Upper Lower Case | OPT.JAVA.CONV.AvoidLocalVariablesDifferUpperLowerCase | AvoidLocalVariablesDifferUpperLowerCase:大文字と小文字だけが異なる変数名の回避 |
情報 | Avoid Same Class Field Names | OPT.JAVA.CONV.AvoidSameClassFieldNames | AvoidSameClassFieldNames:クラスと同じ名前のフィールドの回避 |
情報 | Avoid Short Class Names | OPT.JAVA.CONV.AvoidShortClassNames | AvoidShortClassNames:5文字未満のクラス名の回避 |
情報 | Use Correct Format Inner Classes | OPT.JAVA.CONV.UseCorrectFormatInnerClasses | UseCorrectFormatInnerClasses:内部クラスの不正な命名の回避 |
情報 | Use Is If Return Boolean | OPT.JAVA.CONV.UseIsIfReturnBoolean | UseIsIfReturnBoolean:Boolean値を返すメソッド名だけに接頭辞「is」を追加 |
情報 | Avoid Declare Fields Only Null | OPT.JAVA.DECL.AvoidDeclareFieldsOnlyNull | AvoidDeclareFieldsOnlyNull:常にnullを返すフィールドの宣言の回避 |
情報 | Avoid Declare Method Final And Static | OPT.JAVA.DECL.AvoidDeclareMethodFinalAndStatic | AvoidDeclareMethodFinalAndStatic:staticメソッドをfinalとして宣言しない |
情報 | Avoid Declare Method Private And Final | OPT.JAVA.DECL.AvoidDeclareMethodPrivateAndFinal | AvoidDeclareMethodPrivateAndFinal:privateメソッドをfinalとして宣言しない |
情報 | Dont Extend Object | OPT.JAVA.DECL.DontExtendObject | DontExtendObject:クラスが明示的に「java.lang.Object」を継承しないことを確認 |
情報 | Signature Standard To String | OPT.JAVA.DECL.SignatureStandardToString | SignatureStandardToString:toString()は常に標準的な記述方式で宣言する |
情報 | C H A I N | OPT.JAVA.DECLARA.CHAIN | CHAIN:複数の(オーバーロードされた)コンストラクタがある場合、コンストラクタ内でジェネリックコンストラクタを呼び出すには「this」を使用 |
情報 | I Don't use masterpage files T2 | OPT.JAVA.DECLARA.IMPT2 | IMPT2:クラスのインポート時にワイルドカードを使用 |
情報 | Leave A White Space Between Arguments | OPT.JAVA.DECLARA.LeaveAWhiteSpaceBetweenArguments | LeaveAWhiteSpaceBetweenArguments:引数の間に空白を入れる |
情報 | O C C | OPT.JAVA.DECLARA.OCC | OCC:拡張子(java)ファイル内のコード構成のチェック |
情報 | Avoid Incorrect Format Of Final Fields | OPT.JAVA.DEN.AvoidIncorrectFormatOfFinalFields | AvoidIncorrectFormatOfFinalFields:final staticフィールドの不正な命名の回避 |
情報 | Avoid Incorrect Format Of Final Non Static Fields | OPT.JAVA.DEN.AvoidIncorrectFormatOfFinalNonStaticFields | AvoidIncorrectFormatOfFinalNonStaticFields:finalではないstaticフィールドの不正な命名の回避 |
情報 | Avoid Incorrect Format Of Local Vars | OPT.JAVA.DEN.AvoidIncorrectFormatOfLocalVars | AvoidIncorrectFormatOfLocalVars:ローカル変数の不正な命名の回避 |
情報 | Avoid Incorrect Format Of Non Static Fields | OPT.JAVA.DEN.AvoidIncorrectFormatOfNonStaticFields | AvoidIncorrectFormatOfNonStaticFields:staticではないフィールドの不正な命名の回避 |
情報 | Avoid Use Of Dollar In Names | OPT.JAVA.DEN.AvoidUseOfDollarInNames | AvoidUseOfDollarInNames:クラス名、メソッド名、変数名にドル記号の使用回避 |
情報 | Interfaces Start With Capital | OPT.JAVA.DEN.InterfacesStartWithCapital | InterfacesStartWithCapital:インターフェイス名は常に大文字で始める |
情報 | Method Not Start With Lowercase Or Under Score | OPT.JAVA.DEN.MethodNotStartWithLowercaseOrUnderScore | MethodNotStartWithLowercaseOrUnderScore:常にjavaのメソッド命名規則に従う |
情報 | Start Class Name Capital | OPT.JAVA.DEN.StartClassNameCapital | StartClassNameCapital:クラス名は常に大文字で始める |
情報 | Avoid Load Library EJB | OPT.JAVA.EJB.AvoidLoadLibraryEJB | AvoidLoadLibraryEJB:Enterprise JavaBeanのクラスでネイティブライブラリのロード禁止 |
情報 | Declare Static Final Class EJB | OPT.JAVA.EJB.DeclareStaticFinalClassEJB | DeclareStaticFinalClassEJB:EntityBeansのstaticフィールドは常にfinalの宣言 |
情報 | Ejb Create Enterprise Java Bean | OPT.JAVA.EJB.EjbCreateEnterpriseJavaBean | EjbCreateEnterpriseJavaBean:Enterprise JavaBeanのクラスでは常に少なくとも1つのejbCreate()メソッドの実装 |
情報 | Ejb Create No Parameter | OPT.JAVA.EJB.EjbCreateNoParameter | EjbCreateNoParameter:MessageDrivenBeanクラスのejbCreate()メソッドにパラメータを持つのは禁止 |
情報 | Ejb Create Post Create | OPT.JAVA.EJB.EjbCreatePostCreate | EjbCreatePostCreate:EntityBeansは、ejbCreate()メソッドごとに1つのejbPostCreate()メソッドを使用することが必要 |
情報 | Ejb Post Create Entity Bean | OPT.JAVA.EJB.EjbPostCreateEntityBean | EjbPostCreateEntityBean:EntityBeanは、少なくとも一つのejbPostCreate()メソッドの実装が必要 |
情報 | Method Void Ejb Create | OPT.JAVA.EJB.MethodVoidEjbCreate | MethodVoidEjbCreate:SessionBeanとMessageDrivenBeanクラスのejbCreate()メソッドでは空でない戻り値の回避 |
情報 | Method Void Ejb Post Create | OPT.JAVA.EJB.MethodVoidEjbPostCreate | MethodVoidEjbPostCreate:Enterprise JavaBeanクラスのejbPostCreate()メソッドでは空でない戻り値の回避 |
情報 | Use Capitals For Final Fields | OPT.JAVA.EJB.UseCapitalsForFinalFields | UseCapitalsForFinalFields:finalフィールドの名前は大文字で宣言 |
情報 | Define Classes Exceptions As Final | OPT.JAVA.EXCP.DefineClassesExceptionsAsFinal | DefineClassesExceptionsAsFinal:ユーザー定義の例外は常にfinalとして宣言 |
情報 | L L | OPT.JAVA.FMETODOS.LL | LL:コードの行が長すぎる |
情報 | N S A B | OPT.JAVA.FMETODOS.NSAB | NSAB:左中括弧「{」と同じ行にステートメントを記述しない |
情報 | S A O P | OPT.JAVA.FMETODOS.SAOP | SAOP:1 行で記述する代入演算子の両側にはスペース文字を入れる |
情報 | S C | OPT.JAVA.FMETODOS.SC | SC:条件文の左括弧「(」の後にはスペース文字を入れる |
情報 | S M C | OPT.JAVA.FMETODOS.SMC | SMC:メソッド名と開始括弧「(」の間にはスペース1文字を入れる |
情報 | Avoid Extend Thread | OPT.JAVA.HEB.AvoidExtendThread | AvoidExtendThread:java.lang.Threadの継承の回避 |
情報 | Avoid Link Operator Assign | OPT.JAVA.INIC.AvoidLinkOperatorAssign | AvoidLinkOperatorAssign:多重代入の回避 |
情報 | Avoid Get Context | OPT.JAVA.J2EE.AvoidGetContext | AvoidGetContext:java.security.AccessController.getContext()の呼び出し回避 |
情報 | Avoid Get Security Manager | OPT.JAVA.J2EE.AvoidGetSecurityManager | AvoidGetSecurityManager:java.lang.System.getSecurityManager()の呼び出し回避 |
情報 | Javadoc Location | OPT.JAVA.JDOC.JavadocLocation | JavadocLocation:Javadocとクラス/メソッド宣言の間にJavadoc以外のコメントを入れない |
情報 | Javadoc Param Rule | OPT.JAVA.JDOC.JavadocParamRule | JavadocParamルール:publicメソッドとprotectedメソッドで常に@paramタグを正しい順番で指定する |
情報 | Javadoc Reg Exp Rule | OPT.JAVA.JDOC.JavadocRegExpRule | JavadocRegExpRule:スローされた例外に対して、JavaDoc コメントの@exceptionタグの使用禁止 |
情報 | Format Subclass Junit Test Case | OPT.JAVA.JUNIT_JAVA.FormatSubclassJunitTestCase | FormatSubclassJunitTestCase:Junit TestCaseサブクラスの不正な命名の回避 |
情報 | Start Test Class Name Test Suite | OPT.JAVA.JUNIT_JAVA.StartTestClassNameTestSuite | StartTestClassNameTestSuite:TestSuiteクラスの不正な命名の回避 |
情報 | Avoid Call Ceil With Int Converted To Double | OPT.JAVA.MAT.AvoidCallCeilWithIntConvertedToDouble | AvoidCallCeilWithIntConvertedToDouble:Math.ceil() / Math.floor() / Math.round()に整数型を渡すのを避ける |
情報 | Avoid Switch Case Break Without Comment | OPT.JAVA.PB.AvoidSwitchCaseBreakWithoutComment | AvoidSwitchCaseBreakWithoutComment:breakがなくコメントもないcaseを持つswitchがあるか確認 |
情報 | Comment Every Variable | OPT.JAVA.RGD.CommentEveryVariable | CommentEveryVariable:すべての変数にコメントを付ける |
情報 | P J D C F4 | OPT.JAVA.RGD.PJDCF4 | PJDCF4:privateフィールドにJavadocコメントを付ける |
情報 | P J D C M2 | OPT.JAVA.RGD.PJDCM2 | PJDCM2:protectedメソッドにJavadocコメントを付ける |
情報 | P J D C M4 | OPT.JAVA.RGD.PJDCM4 | PJDCM4:privateメソッドにJavadocコメントを付ける |
情報 | Dont Use Servlets | OPT.JAVA.RGM.DontUseServlets | DontUseServlets:サーブレットの使用禁止 |
情報 | P F L | OPT.JAVA.RGM.PFL | PFL:whileの代わりにforループの使用 |
情報 | S D I | OPT.JAVA.RGM.SDI | SDI:インポートブロックの区切りに空白行の使用 |
情報 | ESAPI Banned Rule | OPT.JAVA.SEC_JAVA.ESAPIBannedRule | ESAPIBannedRule:危険なJ2EE APIを避け、(OWASP ESAPIのような)セキュリティに特化したライブラリへの置き換え |
情報 | Avoid Return Sentences Method Void | OPT.JAVA.SENT.AvoidReturnSentencesMethodVoid | AvoidReturnSentencesMethodVoid:voidメソッドでは不要なリターンコマンドの回避 |
情報 | Avoid Using Do While | OPT.JAVA.SENT.AvoidUsingDoWhile | AvoidUsingDoWhile:do-while文の使用の回避 |
情報 | Version U I D Field | OPT.JAVA.SERI.serialVersionUIDField | serialVersionUIDField:シリアライズ可能なクラスは、常にfinal static serialVersionUIDフィールドを持つ必要 |
情報 | Use Package Declaration | OPT.JAVA.SWITCH.UsePackageDeclaration | UsePackageDeclaration:常にパッケージの宣言を使用 |
情報 | Password In Comment Rule | OPT.JAVA.SEC_JAVA.PasswordInCommentRule | PasswordInCommentRule:コード内でのハードコードされたパスワードやコメント内のパスワードの回避 |
低 | Avoid Field Access Strategy | OPT.HIBERNATE.AvoidFieldAccessStrategy | AvoidFieldAccessStrategy:プロパティへのアクセスにはアクセサメソッド(getter/setter)を使う |
低 | Collection Getter And Setter Must Return Same Object | OPT.HIBERNATE.CollectionGetterAndSetterMustReturnSameObject | CollectionGetterAndSetterMustReturnSameObject:コレクションgetterとsetterは同じオブジェクトを返すことが必要 |
低 | Declare Identifier Property | OPT.HIBERNATE.DeclareIdentifierProperty | DeclareIdentifierProperty:永続クラスの識別子プロパティ/プロパティの宣言 |
低 | Externalize Queries | OPT.HIBERNATE.ExternalizeQueries | ExternalizeQueries:クエリ文字列を名前付きクエリとして外部に保存 |
低 | Implement Equals Hash Code In Components | OPT.HIBERNATE.ImplementEqualsHashCodeInComponents | ImplementEqualsHashCodeInComponents:コンポーネントとコンポジット要素に対してequals()とhashCode()を実装 |
低 | Select Before Update With Update Trigger | OPT.HIBERNATE.SelectBeforeUpdateWithUpdateTrigger | SelectBeforeUpdateWithUpdateTrigger:select-before-updateの属がUPDATEトリガーと一致するか確認 |
低 | Use Named Identifier | OPT.HIBERNATE.UseNamedIdentifier | UseNamedIdentifier:Hibernateの識別子には常にname属性の指定が必要 |
低 | Use Proper Subclass Strategy | OPT.HIBERNATE.UseProperSubclassStrategy | UseProperSubclassStrategy:サブクラスのプロパティの数に応じて適切なサブクラス構成を検討 |
低 | Do not manually treat exceptions in Actions | OPT.JAVA.ACTIONS.AUTC | AUTC:アクションの例外を手動で処理しない |
低 | Don't use public methods in Actions | OPT.JAVA.ACTIONS.NMTP | NMTP:アクションではpublicメソッドを使用しない |
低 | Avoid Using Floating Point | OPT.JAVA.ANDROID.AvoidUsingFloatingPoint | AvoidUsingFloatingPoint:浮動小数点の使用回避 |
低 | Keep XML Layout Hierarchy Flat | OPT.JAVA.ANDROID.KeepXMLLayoutHierarchyFlat | KeepXMLLayoutHierarchyFlat:レイアウトの深さの確認 |
低 | Suspicious Import | OPT.JAVA.ANDROID.SuspiciousImport | SuspiciousImport:android.Rパッケージが使用されているか確認 |
低 | Use Enhanced For Loop | OPT.JAVA.ANDROID.UseEnhancedForLoop | UseEnhancedForLoop:拡張されたfor-eachループの使用を検討 |
低 | Use Primitive For Numbers | OPT.JAVA.ANDROID.UsePrimitiveForNumbers | UsePrimitiveForNumbers:Numberオブジェクトの代わりにプリミティブ型を使用 |
低 | Use Sparse Arrays | OPT.JAVA.ANDROID.UseSparseArrays | UseSparseArrays:整数キーを持つMapの代わりにSparseArrayを使用 |
低 | Avoid Cyclic Dependencies Between Packages | OPT.JAVA.AvoidCyclicDependenciesBetweenPackages | AvoidCyclicDependenciesBetweenPackages:パッケージ間での循環的な依存関係の回避 |
低 | Avoid Assign In While | OPT.JAVA.BUC.AvoidAssignInWhile | AvoidAssignInWhile:while / do-whileループ条件での代入の回避 |
低 | Avoid Call Loop | OPT.JAVA.BUC.AvoidCallLoop | AvoidCallLoop:条件付きループ文内でのメソッド呼び出しを回避 |
低 | Avoid Continue | OPT.JAVA.BUC.AvoidContinue | AvoidContinue:continueコマンドの使用回避 |
低 | Avoid List Contains | OPT.JAVA.BUC.AvoidListContains | AvoidListContains:ループ内でのcontainsの呼び出しの回避 |
低 | Avoid Call Objects Sub String | OPT.JAVA.CADCAR.AvoidCallObjectsSubString | AvoidCallObjectsSubString:Stringオブジェクトに対するsubstring(0)の呼び出し回避 |
低 | Avoid Check Index Of Positive | OPT.JAVA.CADCAR.AvoidCheckIndexOfPositive | AvoidCheckIndexOfPositive:String.IndexOf()が正の値かどうかのチェックの回避 |
低 | Avoid Concat String | OPT.JAVA.CADCAR.AvoidConcatString | AvoidConcatString:定数でない文字列をStringBufferとして宣言 |
低 | M A J D T | OPT.JAVA.CDCI.MAJDT | MAJDT:クラスとインターフェースのJavadocコメントで@authorタグを使用 |
低 | M V J D T | OPT.JAVA.CDCI.MVJDT | MVJDT:クラスとインターフェースのJavadocコメントで@versionタグを使用 |
低 | P J D C C2 | OPT.JAVA.CDCI.PJDCC2 | PJDCC2:protectedクラスとインタフェースにJavadocコメントを付ける |
低 | M R D C | OPT.JAVA.CDM.MRDC | MRDC:publicメソッドのJavadocコメントで@returnタグを使用 |
低 | T S M J T | OPT.JAVA.CDM.TSMJT | TSMJT:toString()メソッドに対してJavadocコメントを付ける |
低 | V M C R | OPT.JAVA.CDM.VMCR | VMCR:voidメソッドのJavadocコメントで@returnタグの使用回避 |
低 | B M S S | OPT.JAVA.CFFEJB.BMSS | BMSS:「Bean」クラスのフィールドのシリアライズ |
低 | Declare Public Clone | OPT.JAVA.CLON.DeclarePublicClone | DeclarePublicClone:常にclone()をpublic宣言する |
低 | T R E T | OPT.JAVA.CMETRICS.TRET | TRET:リターンステートメント数の制限に従う |
低 | C V N | OPT.JAVA.CNOM.CVN | CVN:1文字の変数名は慣用的な使用のみとする |
低 | G E T B | OPT.JAVA.CNOM.GETB | GETB:boolean型getterメソッド名は「is」、「can」、「has」、「have」で始まることが必要 |
低 | L C I N | OPT.JAVA.CNOM.LCIN | LCIN:長すぎるクラス名やインターフェイス名の回避 |
低 | N U P R | OPT.JAVA.CNOM.NUPR | NUPR:Java識別子の中に予約語の使用禁止 |
低 | S E T A | OPT.JAVA.CNOM.SETA | SETA:setterメソッドの規約 |
低 | U S F | OPT.JAVA.CNOM.USF | USF:staticとfinalフィールド名は小文字の回避 |
低 | D I L | OPT.JAVA.CNU.DIL | DIL:java.lang.*パッケージを明示的にインポートしない |
低 | Avoid Declare Many Constructors | OPT.JAVA.COMPJ.AvoidDeclareManyConstructors | AvoidDeclareManyConstructors:多すぎるコンストラクタ宣言の回避 |
低 | Avoid Null Pointer | OPT.JAVA.COND.AvoidNullPointer | AvoidNullPointer:if/elseでNullPointerExceptionの生成の可能性 |
低 | Protected Constructor In Abstract Class | OPT.JAVA.CONST.ProtectedConstructorInAbstractClass | ProtectedConstructorInAbstractClass:abstractクラスに対してのみ「protected」コンストラクタを宣言 |
低 | Avoid Method Name Differ Upper Lower Case | OPT.JAVA.CONV.AvoidMethodNameDifferUpperLowerCase | AvoidMethodNameDifferUpperLowerCase:大文字と小文字だけが異なるメソッド名の回避 |
低 | Array List Instead Of Vector | OPT.JAVA.DECL.ArrayListInsteadOfVector | ArrayListInsteadOfVector:常にVectorの代わりにArrayListの使用 |
低 | Avoid Empty Classes | OPT.JAVA.DECL.AvoidEmptyClasses | AvoidEmptyClasses:空のクラスやインターフェースの回避 |
低 | Avoid Implement Protected Final Class | OPT.JAVA.DECL.AvoidImplementProtectedFinalClass | AvoidImplementProtectedFinalClass:protectedフィールドをfinalクラスで実装しない |
低 | Avoid Use Class Interface Or Abstract | OPT.JAVA.DECL.AvoidUseClassInterfaceOrAbstract | AvoidUseClassInterfaceOrAbstract:共通の定数を宣言するためにabstractクラスまたはインターフェースの使用回避 |
低 | Avoid Use Static No Final | OPT.JAVA.DECL.AvoidUseStaticNoFinal | AvoidUseStaticNoFinal:初期化ではfinalではないstaticフィールドの回避 |
低 | Avoid Using Same Variable Names | OPT.JAVA.DECL.AvoidUsingSameVariableNames | AvoidUsingSameVariableNames:同じ名前の変数の回避 |
低 | L In Long Object Value | OPT.JAVA.DECL.LInLongObjectValue | LInLongObjectValue:数値リテラルには常に大文字で接尾辞を追加(「l」ではなく「L」) |
低 | A S I | OPT.JAVA.DECLARA.ASI | ASI:インスタンスクラスのメンバを使用しない場合は、メソッドをstaticで宣言 |
低 | C C P A | OPT.JAVA.DECLARA.CCPA | CCPA:各publicクラスは、別々のファイルで宣言する必要 |
低 | C L S | OPT.JAVA.DECLARA.CLS | CLS:比較式の左辺に定数の定義 |
低 | C R S | OPT.JAVA.DECLARA.CRS | CRS:比較式の右側に定数を置く |
低 | Define Every Variable In A Line | OPT.JAVA.DECLARA.DefineEveryVariableInALine | DefineEveryVariableInALine:すべての変数の定義は1行に記述 |
低 | Define Privacy Fields | OPT.JAVA.DECLARA.DefinePrivacyFields | DefinePrivacyFields:すべてのフィールドは、privateまたはprotectedで定義 |
低 | I S A C F | OPT.JAVA.DECLARA.ISACF | ISACF:定数のみを定義するインターフェースの回避 |
低 | Separate Declarations And Statements | OPT.JAVA.DECLARA.SeparateDeclarationsAndStatements | SeparateDeclarationsAndStatements:宣言とステートメントの分離 |
低 | U C D C | OPT.JAVA.DECLARA.UCDC | UCDC:ユーティリティクラスはprivateコンストラクタがデフォルト |
低 | Avoid Incorrect Format Of Non Static Methods | OPT.JAVA.DEN.AvoidIncorrectFormatOfNonStaticMethods | AvoidIncorrectFormatOfNonStaticMethods:staticではないメソッドへの不正な命名の回避 |
低 | Declare Bean Class Public | OPT.JAVA.EJB.DeclareBeanClassPublic | DeclareBeanClassPublic:Beanクラスは常にpublicを宣言 |
低 | Declare Method Ejb Find Public | OPT.JAVA.EJB.DeclareMethodEjbFindPublic | DeclareMethodEjbFindPublic:ejbFindXXメソッドは常にpublic、非static、非finalとして宣言 |
低 | Avoid Text Field | OPT.JAVA.ESPUI.AvoidTextField | AvoidTextField:java.awt.TextFieldの使用の回避 |
低 | Avoid Block Catch Return | OPT.JAVA.EXCP.AvoidBlockCatchReturn | AvoidBlockCatchReturn:catchブロック内でのreturn文の使用回避 |
低 | Avoid Excp Catch | OPT.JAVA.EXCP.AvoidExcpCatch | AvoidExcpCatch:catchブロック内で例外の通知やスローは禁止 |
低 | Avoid Excp Exception | OPT.JAVA.EXCP.AvoidExcpException | AvoidExcpException:java.lang.Exceptionの例外キャッチの回避 |
低 | Avoid New Error | OPT.JAVA.EXCP.AvoidNewError | AvoidNewError:java.lang.Errorの新しいインスタンスの作成の回避 |
低 | Next Emit No Such Element Exception | OPT.JAVA.EXCP.NextEmitNoSuchElementException | NextEmitNoSuchElementException:Iteratorクラスのメソッド「next()」が、java.util.NoSuchElementExceptionをキャストできることを常に確認 |
低 | Avoid Unnecessary Finalize | OPT.JAVA.FIN.AvoidUnnecessaryFinalize | AvoidUnnecessaryFinalize:不要なfinalize()メソッドの回避 |
低 | A I O C | OPT.JAVA.FMETODOS.AIOC | AIOC:例外を区別するためのinstanceofの使用は禁止 |
低 | D E E M | OPT.JAVA.FMETODOS.DEEM | DEEM:メソッドとメソッドの間には少なくとも空白行を置く |
低 | M I N D | OPT.JAVA.FMETODOS.MIND | MIND:コードを適切にインデントする |
低 | N C E | OPT.JAVA.FMETODOS.NCE | NCE:Exception、RuntimeExceptionまたはThrowableをcatchまたはthrowしない |
低 | OS P L | OPT.JAVA.FMETODOS.OSPL | OSPL:1行には1つのステートメント |
低 | S B R | OPT.JAVA.FMETODOS.SBR | SBR:booleanを返すコードの簡略化 |
低 | U P | OPT.JAVA.FMETODOS.UP | UP:return文の不要な括弧の回避 |
低 | Avoid Call Interrupted Run | OPT.JAVA.HEB.AvoidCallInterruptedRun | AvoidCallInterruptedRun:スレッドのrun()メソッドでThread.currentThread().interrupted()の呼び出し回避 |
低 | C S I | OPT.JAVA.INICIA.CSI | CSI:クラスのすべてのフィールドを初期化するコンストラクタの使用 |
低 | Avoid Too Long Resource Names | OPT.JAVA.JAX.AvoidTooLongResourceNames | AvoidTooLongResourceNames:長すぎるリソース名の使用の回避 |
低 | Tear Down J Unit | OPT.JAVA.JUNIT_JAVA.TearDownJUnit | TearDownJUnit:JUnitのテストケースのtearDown()メソッドを常に上書きする |
低 | Avoid Call Next Double | OPT.JAVA.MAT.AvoidCallNextDouble | AvoidCallNextDouble:int型の乱数の生成に、nextDouble()の呼び出し回避 |
低 | Parent Class Doesnot Reference Child Classes | OPT.JAVA.ParentClassDoesnotReferenceChildClasses | ParentClassDoesnotReferenceChildClasses:子クラスのいずれも参照していない親クラス |
低 | A D E | OPT.JAVA.PB.ADE | ADE:else文のぶら下がりによる曖昧さの回避 |
低 | Avoid Complex If | OPT.JAVA.PB.AvoidComplexIf | AvoidComplexIf:If文の複雑な条件の回避 |
低 | A C E C | OPT.JAVA.RGD.ACEC | ACEC:コメント文中の特殊文字の回避 |
低 | Leave A White Line Before A Comment Line | OPT.JAVA.RGD.LeaveAWhiteLineBeforeACommentLine | LeaveAWhiteLineBeforeACommentLine:コメント行の前に空行を置く |
低 | P J D C F2 | OPT.JAVA.RGD.PJDCF2 | PJDCF2:protectedフィールドにJavadocのコメントを付ける |
低 | P J D C M | OPT.JAVA.RGD.PJDCM | PJDCM:Javaクラス(非インタフェース)のpublicメソッドにJavadocのコメントを付ける |
低 | P J D C M Interface | OPT.JAVA.RGD.PJDCMInterface | PJDCMInterface:JavaインターフェースのpublicメソッドにJavadocのコメントを付ける |
低 | B L K E L S E | OPT.JAVA.RGM.BLKELSE | BLKELSE:「else」文にはブランチブロックの使用 |
低 | B L K I F | OPT.JAVA.RGM.BLKIF | BLKIF:「if」文にはブランチブロックの使用 |
低 | Dont Set In Session | OPT.JAVA.RGM.DontSetInSession | DontSetInSession:セッションスコープにオブジェクトの配置は禁止 |
低 | Use Session From Restricted Packages | OPT.JAVA.RGM.UseSessionFromRestrictedPackages | UseSessionFromRestrictedPackages:特定のパッケージのクラスからのみセッションオブジェクトへのアクセス |
低 | U E Q | OPT.JAVA.RGOR.UEQ | UEQ:ブール変数とtrueの比較の回避 |
低 | Transient fields in Serializable classes2 | OPT.JAVA.RGS.SER2 | SER2:java.io.Serializableインターフェイスを継承したインターフェイスの使用禁止 |
低 | Improper Validation Of Array Index | OPT.JAVA.SEC_JAVA.ImproperValidationOfArrayIndex | ImproperValidationOfArrayIndex:無害化されていない脆弱な入力からの配列インデックス |
低 | Avoid Assign Same Variable | OPT.JAVA.SENT.AvoidAssignSameVariable | AvoidAssignSameVariable:変数の自分自身への代入の回避 |
低 | Avoid Return Null | OPT.JAVA.SENT.AvoidReturnNull | AvoidReturnNull:メソッド宣言でnullを返さない |
低 | Avoid Transient Fileds | OPT.JAVA.SERI.AvoidTransientFileds | AvoidTransientFileds:シリアライズできないクラスでは、フィールドの一時的な宣言の禁止 |
低 | Implement Comparable With Serializable | OPT.JAVA.SERI.ImplementComparableWithSerializable | ImplementComparableWithSerializable:java.lang.Comparableを実装する場合は、常にjava.io.Serializableを実装 |
低 | Add Comments To Configuration Files | OPT.JAVA.SPRING.AddCommentsToConfigurationFiles | AddCommentsToConfigurationFiles:XML設定ファイルにコメントを付ける |
低 | Use Rest Controller Convenience Annotation | OPT.JAVA.SPRING.UseRestControllerConvenienceAnnotation | UseRestControllerConvenienceAnnotation:RESTアプリケーションには@RestControllerアノテーションの使用 |
低 | Use Spring Boot Application Convenience Annotation | OPT.JAVA.SPRING.UseSpringBootApplicationConvenienceAnnotation | UseSpringBootApplicationConvenienceAnnotation:@SpringBootApplicationアノテーションの使用 |
低 | Avoid New String | OPT.JAVA.STR.AvoidNewString | AvoidNewString:リテラルの文字列を作成するための「new」演算子の使用回避 |
低 | Do not compare class objects with getName() or getSimpleName() methods C H | OPT.JAVA.STR.CMPCH | CMPCH:文字の比較に文字列の使用禁止 |
低 | Avoid Short Switch | OPT.JAVA.SWITCH.AvoidShortSwitch | AvoidShortSwitch:分岐の少ないswitch文の代わりにif-elseの使用 |
低 | Avoid Declare Variable Inside Loop | OPT.JAVA.VELOC.AvoidDeclareVariableInsideLoop | AvoidDeclareVariableInsideLoop:ループ内での変数の作成や代入の回避 |
低 | Avoid New Object Get Class | OPT.JAVA.VELOC.AvoidNewObjectGetClass | AvoidNewObjectGetClass:getClass()を呼び出す目的で新しいオブジェクトの作成回避 |
低 | Information Exposure Through Debug Log | OPT.JAVA.SEC_JAVA.InformationExposureThroughDebugLog | InformationExposureThroughDebugLog:ログによる重要な情報の公開の回避 |
中 | Limit Accessibility Of Sensitive Content Provider | OPT.JAVA.ANDROID.LimitAccessibilityOfSensitiveContentProvider | LimitAccessibilityOfSensitiveContentProvider:アプリの機密性の高いコンテンツプロバイダへのアクセスの制限 |
中 | Secure Resources Properly | OPT.JAVA.JAX.SecureResourcesProperly | SecureResourcesProperly:アノテーションを使用してリソースの適切な保護 |
中 | Use HTTP Method Annotation | OPT.JAVA.JAX.UseHTTPMethodAnnotation | UseHTTPMethodAnnotation:適切なアノテーションを使用して、受け入れるHTTPリクエストメソッドを指定 |
中 | Use Secured Transport Layer | OPT.JAVA.JAX.UseSecuredTransportLayer | UseSecuredTransportLayer:HTTPSの代わりのHTTPの使用禁止 |
中 | Plaintext Storage In A Cookie Rule | OPT.JAVA.SEC_JAVA.PlaintextStorageInACookieRule | PlaintextStorageInACookieRule:Cookieでの機密情報の平文保存 |
中 | Unsafe Cookie Rule | OPT.JAVA.SEC_JAVA.UnsafeCookieRule | UnsafeCookieRule: 適切なセキュリティプロパティを持つサーバ側のCookieの生成 |
中 | Exported Activity | OPT.JAVA.ANDROID.ExportedActivity | ExportedActivity:エクスポートされたアクティビティにはアクセス許可が必要 |
中 | Exported Preference Activity | OPT.JAVA.ANDROID.ExportedPreferenceActivity | ExportedPreferenceActivity:PreferenceActivityを継承するアクティビティのエクスポート制限 |
中 | Exported Provider | OPT.JAVA.ANDROID.ExportedProvider | ExportedProvider: エクスポートされたプロバイダにはアクセス許可が必要 |
中 | Exported Receiver | OPT.JAVA.ANDROID.ExportedReceiver | ExportedReceiver:エクスポートされたレシーバにはアクセス許可が必要 |
中 | Exported Service | OPT.JAVA.ANDROID.ExportedService | ExportedService:エクスポートされたサービスにはアクセス許可が必要 |
中 | Avoid Host Name Checks Rule | OPT.JAVA.SEC_JAVA.AvoidHostNameChecksRule | AvoidHostNameChecksRule:DNSポイズニングによる信頼性の低いクライアント側のホスト名のチェックの回避 |
中 | Avoid Cartesian Product | OPT.HIBERNATE.AvoidCartesianProduct | AvoidCartesianProduct:HQLおよびネイティブなSQLクエリで認識されないデカルト積の回避 |
中 | Avoid Many To Many Associations | OPT.HIBERNATE.AvoidManyToManyAssociations | AvoidManyToManyAssociations:多対多になる関連付けの回避 |
中 | Avoid Non Lazy Collections | OPT.HIBERNATE.AvoidNonLazyCollections | AvoidNonLazyCollections:遅延しない永続的なコレクションの回避 |
中 | Avoid Problematic Flush Mode | OPT.HIBERNATE.AvoidProblematicFlushMode | AvoidProblematicFlushMode:古いデータの問題が発生する可能性があるFlushModeの設定の回避 |
中 | Avoid Using HQL | OPT.HIBERNATE.AvoidUsingHQL | AvoidUsingHQL:マッピング記述子やコード内でのHQLの使用の回避 |
中 | Avoid Using Native SQL | OPT.HIBERNATE.AvoidUsingNativeSQL | AvoidUsingNativeSQL: マッピング記述子やコード内でのネイティブSQLの使用の回避 |
中 | Cross Site History Manipulation | OPT.JAVA.SEC_JAVA.CrossSiteHistoryManipulation | CrossSiteHistoryManipulation:クロスサイト履歴操作(XSHM) |
中 | Configure Connection Pool | OPT.HIBERNATE.ConfigureConnectionPool | ConfigureConnectionPool:明示的な接続プールでHibernateを設定 |
中 | Never Use Persistent Arrays | OPT.HIBERNATE.NeverUsePersistentArrays | NeverUsePersistentArrays:永続的な配列を使用禁止 |
中 | One Class Per Mapping File | OPT.HIBERNATE.OneClassPerMappingFile | OneClassPerMappingFile:永続的クラスごとに1つのマッピングファイルの使用 |
中 | Only Use Hibernate For Database Access | OPT.HIBERNATE.OnlyUseHibernateForDatabaseAccess | OnlyUseHibernateForDatabaseAccess:データベースアクセスにHibernate/JPAのみ使用 |
中 | Override Equals Hashcode In Composites | OPT.HIBERNATE.OverrideEqualsHashcodeInComposites | OverrideEqualsHashcodeInComposites:composite-*要素を実装するすべてのクラスは、equals()とhashCode()のオーバーライドが必要 |
中 | Proper Equals Hashcode Policy | OPT.HIBERNATE.ProperEqualsHashcodePolicy | ProperEqualsHashcodePolicy:永続的エンティティでequals()およびhashCode()を実装する場合は、適切なポリシーの使用 |
中 | Separation Of Concerns | OPT.HIBERNATE.SeparationOfConcerns | SeparationOfConcerns:J2EE APIを使ったドメインエンティティの回避 |
中 | Use Interface For Collection Property | OPT.HIBERNATE.UseInterfaceForCollectionProperty | UseInterfaceForCollectionProperty:コレクション値のプロパティにはインターフェイスの使用 |
中 | Use Non Final Persistent Classes | OPT.HIBERNATE.UseNonFinalPersistentClasses | UseNonFinalPersistentClasses:「final」永続的クラスの回避 |
中 | Use Nullable Type For Identifier | OPT.HIBERNATE.UseNullableTypeForIdentifier | UseNullableTypeForIdentifier:永続的クラスの識別子フィールドにはnull許容(非プリミティブ)型の使用 |
中 | Use Version Instead Of Timestamp | OPT.HIBERNATE.UseVersionInsteadOfTimestamp | UseVersionInsteadOfTimestamp:タイムスタンプの代わりにバージョンの使用 |
中 | Avoid Absolute Layout | OPT.JAVA.ANDROID.AvoidAbsoluteLayout | AvoidAbsoluteLayout:AbsoluteLayoutの使用回避 |
中 | Avoid Calls After Recycle Call | OPT.JAVA.ANDROID.AvoidCallsAfterRecycleCall | AvoidCallsAfterRecycleCall:recycle()したリソースの呼び出し禁止 |
中 | Check External Storage Permission | OPT.JAVA.ANDROID.CheckExternalStoragePermission | CheckExternalStoragePermission:権限使用の適合性のチェック(外部ストレージ権限) |
中 | Check Internet Permission | OPT.JAVA.ANDROID.CheckInternetPermission | CheckInternetPermission:権限使用の適合性のチェック(インターネット権限) |
中 | Check Location Permission | OPT.JAVA.ANDROID.CheckLocationPermission | CheckLocationPermission:権限使用の適合性のチェック(位置情報の権限) |
中 | Complete Transaction With Commit | OPT.JAVA.ANDROID.CompleteTransactionWithCommit | CompleteTransactionWithCommit:commit()メソッドを呼び出してトランザクションの完了が必要 |
中 | Format String Injection Rule | OPT.JAVA.SEC_JAVA.FormatStringInjectionRule | FormatStringInjectionRule:無害化されていないユーザ入力をフォーマット文字列から除外 |
中 | Do Not Log Sensitive Information | OPT.JAVA.ANDROID.DoNotLogSensitiveInformation | DoNotLogSensitiveInformation:安全でないログへのアクセス回避 |
中 | Dont Use Multidimensional List | OPT.JAVA.ANDROID.DontUseMultidimensionalList | DontUseMultidimensionalList:多次元配列や入れ子リストの使用回避 |
中 | Input Path Not Canonicalized Rule | OPT.JAVA.SEC_JAVA.InputPathNotCanonicalizedRule | InputPathNotCanonicalizedRule:正しくない動作の順序:正規化する前の検証 |
中 | Missing Recycle Calls | OPT.JAVA.ANDROID.MissingRecycleCalls | MissingRecycleCalls:リソースは使用後にrecycle()の呼び出しが必要 |
中 | On Click Method Does Not Exist | OPT.JAVA.ANDROID.OnClickMethodDoesNotExist | OnClickMethodDoesNotExist:onClickメソッドが必要 |
中 | Request Parameters In Session Rule | OPT.JAVA.SEC_JAVA.RequestParametersInSessionRule | RequestParametersInSessionRule:リクエストパラメータは、サニタイズせずにSessionへ渡すことは禁止 |
中 | View Holder | OPT.JAVA.ANDROID.ViewHolder | ViewHolder:ビューアダプタを実装する際に、新しいレイアウトの生成を回避 |
中 | A Package Does Not Depend On Less Stable Packages | OPT.JAVA.APackageDoesNotDependOnLessStablePackages | APackageDoesNotDependOnLessStablePackages:パッケージは安定性の低いパッケージに依存しない |
中 | Do Not Return Store Mutable Members | OPT.JAVA.DoNotReturnStoreMutableMembers | DoNotReturnStoreMutableMembers:変更可能なメンバーへの参照を直接返したり保存したりすることは禁止 |
中 | Avoid Peer Interface | OPT.JAVA.AWT.AvoidPeerInterface | AvoidPeerInterface:java.awt.peerインタフェースの直接使用の回避 |
中 | P P B | OPT.JAVA.BEANS.PPB | PPB:プレゼンテーション層のオブジェクトをBeanに渡さない |
中 | Avoid Enums In While | OPT.JAVA.BUC.AvoidEnumsInWhile | AvoidEnumsInWhile:ループ制御に列挙子を使用しない |
中 | Avoid For Without Ini Incr | OPT.JAVA.BUC.AvoidForWithoutIniIncr | AvoidForWithoutIniIncr:初期値と増分がないループの回避 |
中 | Avoid Array To String | OPT.JAVA.CADCAR.AvoidArrayToString | AvoidArrayToString:配列に対してtoString()の呼び出し回避 |
中 | N C C A | OPT.JAVA.CDCI.NCCA | NCCA:古いコメント付きコード |
中 | P A R A M | OPT.JAVA.CDM.PARAM | PARAM:publicメソッドの各パラメーターには、Javadocコメントで@paramタグを使用 |
中 | T H R O W | OPT.JAVA.CDM.THROW | THROW:publicメソッドのJavadocコメントで@throwsまたは@exceptionタグを使用 |
中 | Use Set Rollback Only | OPT.JAVA.CFFEJB.UseSetRollbackOnly | UseSetRollbackOnly:Beanのメソッドがアプリケーション例外を投げる場合に、setRollbackOnly()の呼び出し |
中 | Classes Are Strongly Internally Coupled | OPT.JAVA.ClassesAreStronglyInternallyCoupled | ClassesAreStronglyInternallyCoupled:内部的に強く結合されたクラスの回避 |
中 | Class Hierarchies Are Not Too Deep | OPT.JAVA.ClassHierarchiesAreNotTooDeep | ClassHierarchiesAreNotTooDeep:深すぎる階層クラスの回避 |
中 | Avoid Overload Clone | OPT.JAVA.CLON.AvoidOverloadClone | AvoidOverloadClone:cloneメソッドのオーバーロードの回避 |
中 | Implement Cloneable Alter Clone | OPT.JAVA.CLON.ImplementCloneableAlterClone | ImplementCloneableAlterClone:clone()メソッドの上書き時に、java.lang.Cloneableの実装 |
中 | Signature Standard Clone | OPT.JAVA.CLON.SignatureStandardClone | SignatureStandardClone:cloneメソッドには常に標準的な記述方式を使用 |
中 | N P R I F | OPT.JAVA.CMETRICS.NPRIF | NPRIF:privateフィールドの最大許容数 |
中 | N P R I M | OPT.JAVA.CMETRICS.NPRIM | NPRIM:privateメソッドの最大許容数 |
中 | N P R O F | OPT.JAVA.CMETRICS.NPROF | NPROF:protectedフィールドの最大許容数 |
中 | N P R O M | OPT.JAVA.CMETRICS.NPROM | NPROM:protectedメソッドの最大許容数 |
中 | N P U B F | OPT.JAVA.CMETRICS.NPUBF | NPUBF:publicフィールドの最大許容数 |
中 | N P U B M | OPT.JAVA.CMETRICS.NPUBM | NPUBM:publicメソッドの最大許容数 |
中 | S T M T | OPT.JAVA.CMETRICS.STMT | STMT:メソッド内のステートメント数の制限に従う |
中 | T N L M | OPT.JAVA.CMETRICS.TNLM | TNLM:メソッド内の行数制限に従う |
中 | T N M C | OPT.JAVA.CMETRICS.TNMC | TNMC:メソッド呼び出しの回数 |
中 | T N O P | OPT.JAVA.CMETRICS.TNOP | TNOP:パラメータが多すぎるメソッドの回避 |
中 | G E T A | OPT.JAVA.CNOM.GETA | GETA:getterメソッドの規約 |
中 | I R B | OPT.JAVA.CNOM.IRB | IRB:「is...」は、ブール値を返すメソッド名にのみに使用 |
中 | N A R G S | OPT.JAVA.CNOM.NARGS | NARGS:引数に命名規則の使用 |
中 | N C L | OPT.JAVA.CNOM.NCL | NCL:クラス名の命名規則 |
中 | N E | OPT.JAVA.CNOM.NE | NE:クラス例外の命名規則 |
中 | N M | OPT.JAVA.CNOM.NM | NM:メソッドの命名規則に従う |
中 | Inner classes should be protected or private | OPT.JAVA.CNOM.PKG | PKG:パッケージ名にはすべて小文字を使用 |
中 | R Inner classes should be protected or private | OPT.JAVA.CNOM.RPKG | RPKG:Sunが予約しているパッケージ名の使用回避 |
中 | D I C | OPT.JAVA.COL.DIC | DIC:ArrayList、HashMap、HashSet、Hashtable、Vector、WeakHashMapの初期容量の定義 |
中 | M C S | OPT.JAVA.COL.MCS | MCS:同期コレクションの使用の最小化:同期コレクション(Vector, Hashtable)の使用を検出して示す |
中 | M C S C | OPT.JAVA.COL.MCSC | MCSC:多すぎる同期コレクション使用回避:Collections.synchronizedCollection()の使用と派生コレクションの検出 |
中 | Avoid Bit To Bit Comparisons | OPT.JAVA.COMP.AvoidBitToBitComparisons | AvoidBitToBitComparisons:ビット演算子による比較の回避 |
中 | Avoid Comp Byte Max Value Min Value | OPT.JAVA.COMP.AvoidCompByteMaxValueMinValue | AvoidCompByteMaxValueMinValue:常に同じ結果を返すByte.MIN_VALUEおよびByte.MAX_VALUEとbyteデータとの比較の回避 |
中 | Avoid Comp Character Max Value Min Value | OPT.JAVA.COMP.AvoidCompCharacterMaxValueMinValue | AvoidCompCharacterMaxValueMinValue:常に同じ結果を返すCharacter.MIN_VALUEとCharacter.MAX_VALUEの比較の回避 |
中 | Avoid Comp Double Max Value Min Value | OPT.JAVA.COMP.AvoidCompDoubleMaxValueMinValue | AvoidCompDoubleMaxValueMinValue:常に同じ結果を返すDouble.MAX_VALUEおよびDouble.MIN_VALUEとdoubleデータとの比較の回避 |
中 | Avoid Comp Float Max Value Min Value | OPT.JAVA.COMP.AvoidCompFloatMaxValueMinValue | AvoidCompFloatMaxValueMinValue:常に同じ結果を返すFloat.MAX_VALUEとDouble.MIN_VALUEの比較の回避 |
中 | Avoid Comp Integer Max Value Min Value | OPT.JAVA.COMP.AvoidCompIntegerMaxValueMinValue | AvoidCompIntegerMaxValueMinValue:常に同じ結果を返すInteger.MIN_VALUEとInteger.MAX_VALUEの比較の回避 |
中 | Avoid Comp Long Max Value Min Value | OPT.JAVA.COMP.AvoidCompLongMaxValueMinValue | AvoidCompLongMaxValueMinValue:常に同じ結果を返すLong.MIN_VALUEとLong.MAX_VALUEの比較の回避 |
中 | Avoid Comp Short Max Value Min Value | OPT.JAVA.COMP.AvoidCompShortMaxValueMinValue | AvoidCompShortMaxValueMinValue:常に同じ結果を返すShort.MAX_VALUEとShort.MIN_VALUEの比較の回避 |
中 | Dont Compare One Self | OPT.JAVA.COMP.DontCompareOneSelf | DontCompareOneSelf:変数とそれ自身の比較の回避 |
中 | Avoid Excessively Bracketed Loops | OPT.JAVA.COMPJ.AvoidExcessivelyBracketedLoops | AvoidExcessivelyBracketedLoops:3つ以上のループの入れ子の回避 |
中 | Avoidt Nest Try Catch | OPT.JAVA.COMPJ.AvoidtNestTryCatch | AvoidtNestTryCatch:1つ以上のtry / catchのネストの回避 |
中 | Components Are Not Calling Too Many Other Components | OPT.JAVA.ComponentsAreNotCallingTooManyOtherComponents | ComponentsAreNotCallingTooManyOtherComponents:他のコンポーネントの呼び出しが多すぎるコンポーネントの回避 |
中 | Avoid Asignments Within I F | OPT.JAVA.COND.AvoidAsignmentsWithinIF | AvoidAsignmentsWithinIF:条件式内での代入の回避 |
中 | Private Constructor Utility Program | OPT.JAVA.CONST.PrivateConstructorUtilityProgram | PrivateConstructorUtilityProgram:ユーティリティプログラムのクラスに対してのみ「private」コンストラクタの宣言 |
中 | Avoid Field Variables Differ Upper Lower Case | OPT.JAVA.CONV.AvoidFieldVariablesDifferUpperLowerCase | AvoidFieldVariablesDifferUpperLowerCase:大文字と小文字だけが異なるフィールド名の回避 |
中 | Avoid Import Class Local Package | OPT.JAVA.CONV.AvoidImportClassLocalPackage | AvoidImportClassLocalPackage:ローカルパッケージからのクラスのインポートの回避 |
中 | Avoid Parameter Differ Upper Lower Case | OPT.JAVA.CONV.AvoidParameterDifferUpperLowerCase | AvoidParameterDifferUpperLowerCase:大文字と小文字だけが異なるパラメータの回避 |
中 | Avoid Same Method Field Names | OPT.JAVA.CONV.AvoidSameMethodFieldNames | AvoidSameMethodFieldNames:フィールドとメソッドの同名の回避 |
中 | Collection Type Verification | OPT.JAVA.CONV.CollectionTypeVerification | CollectionTypeVerification:オブジェクトがAbstractCollectionに変換される際は、常にオブジェクトの型をテスト |
中 | Object Type Verification | OPT.JAVA.CONV.ObjectTypeVerification | ObjectTypeVerification:キャストする前に必ずオブジェクトの型を確認 |
中 | Avoid Declare Field Used In Only One Method | OPT.JAVA.DECL.AvoidDeclareFieldUsedInOnlyOneMethod | AvoidDeclareFieldUsedInOnlyOneMethod:1つのメソッドでのみ使用されるprivateフィールドの宣言禁止 |
中 | Avoid Final Static Public Matrix Field | OPT.JAVA.DECL.AvoidFinalStaticPublicMatrixField | AvoidFinalStaticPublicMatrixField:Matrix型のpublic static finalフィールドの使用の回避 |
中 | Avoid Local Variable Similar Name | OPT.JAVA.DECL.AvoidLocalVariableSimilarName | AvoidLocalVariableSimilarName:類似した名前のローカル変数の回避 |
中 | Avoid New Boolean | OPT.JAVA.DECL.AvoidNewBoolean | AvoidNewBoolean:new Boolean()によるBooleanオブジェクトの作成の回避 |
中 | Avoid Num Literals | OPT.JAVA.DECL.AvoidNumLiterals | AvoidNumLiterals:数値リテラルの使用の回避 |
中 | Avoid Use Literal | OPT.JAVA.DECL.AvoidUseLiteral | AvoidUseLiteral:明示的な文字列リテラルの使用を避け、代わりに定数の宣言 |
中 | Private Constructor In Final Class | OPT.JAVA.DECL.PrivateConstructorInFinalClass | PrivateConstructorInFinalClass:すべてのコンストラクタが privateであるクラスは「final」として宣言 |
中 | A U V T | OPT.JAVA.DECLARA.AUVT | AUVT: ListとSetの変数はインターフェイス型で宣言 |
中 | D C I | OPT.JAVA.DECLARA.DCI | DCI:インターフェース内でpublic定数の定義 |
中 | D C T O R | OPT.JAVA.DECLARA.DCTOR | DCTOR:可能な限りデフォルトコンストラクタの定義 |
中 | I Don't use masterpage files T | OPT.JAVA.DECLARA.IMPT | IMPT:import文での「*」の使用を避ける |
中 | M V OS | OPT.JAVA.DECLARA.MVOS | MVOS:1つのステートメントで複数の変数の宣言回避 |
中 | N T X | OPT.JAVA.DECLARA.NTX | NTX:「Exception」のスローを避け、常に適切なExceptionのサブクラスの使用 |
中 | Not Define Object Variables | OPT.JAVA.DECLARA.NotDefineObjectVariables | NotDefineObjectVariables:「Object」型の変数の定義禁止 |
中 | Avoid Abstract Class Ejb | OPT.JAVA.EJB.AvoidAbstractClassEjb | AvoidAbstractClassEjb:abstract型のEJBの宣言禁止 |
中 | Avoid Create Exception | OPT.JAVA.EJB.AvoidCreateException | AvoidCreateException:リモートインタフェースとローカルインタフェースの作成メソッドでは、常に「javax.ejb.CreateException」がスローされる |
中 | Avoid Final Class Ejb | OPT.JAVA.EJB.AvoidFinalClassEjb | AvoidFinalClassEjb:EJBのfinalとしての宣言禁止 |
中 | Avoid Finder Exception | OPT.JAVA.EJB.AvoidFinderException | AvoidFinderException:リモートインタフェースとローカルインタフェースのfinderメソッドでは、常に「javax.ejb.FinderException」がスローされる |
中 | Avoid Return This Class Ejb | OPT.JAVA.EJB.AvoidReturnThisClassEjb | AvoidReturnThisClassEjb:エンタープライズJavaBeanクラスのメソッドから「this」の返却の回避 |
中 | Avoid Using Thread | OPT.JAVA.EJB.AvoidUsingThread | AvoidUsingThread:EntityBeansのjava.lang.Threadでオブジェクトの開始、停止、管理の禁止 |
中 | Declareejb Post Create Public | OPT.JAVA.EJB.DeclareejbPostCreatePublic | DeclareejbPostCreatePublic:ejbPostCreate()は常にpublicで宣言 |
中 | Unnormalized Input String | OPT.JAVA.SEC_JAVA.UnnormalizedInputString | UnnormalizedInputString:システム入力は常に正規化 |
中 | Dont Pass This As Arg | OPT.JAVA.EJB.DontPassThisAsArg | DontPassThisAsArg:引数として「this」を渡すのは禁止 |
中 | Ejb Create Message Driven Bean | OPT.JAVA.EJB.EjbCreateMessageDrivenBean | EjbCreateMessageDrivenBean:MessageDrivenBeanのクラスでは、常に少なくとも1つのejbCreate()メソッドの実装 |
中 | Avoid Text Area | OPT.JAVA.ESPUI.AvoidTextArea | AvoidTextArea:java.awt.TextAreaの使用回避 |
中 | Avoid Empty Finally Blocks | OPT.JAVA.EXCP.AvoidEmptyFinallyBlocks | AvoidEmptyFinallyBlocks:空のfinalブロックの回避 |
中 | Avoid Empty Try Blocks | OPT.JAVA.EXCP.AvoidEmptyTryBlocks | AvoidEmptyTryBlocks:空のtryブロックの回避 |
中 | Avoid Excp Error | OPT.JAVA.EXCP.AvoidExcpError | AvoidExcpError:java.lang.Errorの例外キャッチの回避 |
中 | Avoid Illegal Monitor State Excp | OPT.JAVA.EXCP.AvoidIllegalMonitorStateExcp | AvoidIllegalMonitorStateExcp:java.lang.IllegalMonitorStateExceptionの例外キャッチの回避 |
中 | Avoid New Exception | OPT.JAVA.EXCP.AvoidNewException | AvoidNewException:java.lang.Exceptionの新しいインスタンス作成の回避 |
中 | Avoid Object Throwable | OPT.JAVA.EXCP.AvoidObjectThrowable | AvoidObjectThrowable:スロー可能なオブジェクトの例外キャッチの回避 |
中 | Exceptions In Throws | OPT.JAVA.EXCP.ExceptionsInThrows | ExceptionsInThrows:throws句では常に特定の例外の使用 |
中 | A M C | OPT.JAVA.FMETODOS.AMC | AMC:if文内での多重比較の回避 |
中 | D U N | OPT.JAVA.FMETODOS.DUN | DUN:メソッド内での多すぎる否定演算子「!」の回避 |
中 | G N E | OPT.JAVA.FMETODOS.GNE | GNE:句の中での例外の数を管理 |
中 | I A D | OPT.JAVA.FMETODOS.IAD | IAD:配列の型の後、変数名の前に[]括弧を付けて配列を宣言 |
中 | Avoid Call Start Constructors | OPT.JAVA.HEB.AvoidCallStartConstructors | AvoidCallStartConstructors:スレッドのサブクラスのコンストラクタ内からstart()メソッドの呼び出し禁止 |
中 | Avoid This In Sincronized Sentences | OPT.JAVA.HEB.AvoidThisInSincronizedSentences | AvoidThisInSincronizedSentences:同期ブロック内でのthisの使用回避 |
中 | Avoid Wait Outside Brackets | OPT.JAVA.HEB.AvoidWaitOutsideBrackets | AvoidWaitOutsideBrackets:whileループの外側でjava.lang.Objectクラスのwait()メソッドの使用回避 |
中 | D V B C | OPT.JAVA.INICIA.DVBC | DVBC:クラスの最初でクラスの属性を定義 |
中 | L V | OPT.JAVA.INICIA.LV | LV:宣言文ですべてのローカル変数の初期化 |
中 | U S N | OPT.JAVA.INICIA.USN | USN:メソッド呼び出しでのリテラルを回避し、名前付き定数(static finalのクラス変数)によりソースコードの理解、保守がしやすくなる |
中 | Avoid Check Permission | OPT.JAVA.J2EE.AvoidCheckPermission | AvoidCheckPermission:java.security.AccessController.checkPermission()の呼び出しの回避 |
中 | Avoid Class Loader Instance | OPT.JAVA.J2EE.AvoidClassLoaderInstance | AvoidClassLoaderInstance:java.lang.ClassLoaderのインスタンス化の回避 |
中 | Avoid Do As | OPT.JAVA.J2EE.AvoidDoAs | AvoidDoAs:javax.security.auth.Subject.doAs()の呼び出し回避 |
中 | Avoid Do As Privileged | OPT.JAVA.J2EE.AvoidDoAsPrivileged | AvoidDoAsPrivileged:javax.security.auth.Subject.doAsPrivileged()の呼び出し回避 |
中 | Avoid Do Priviliged | OPT.JAVA.J2EE.AvoidDoPriviliged | AvoidDoPriviliged:java.security.AccessController.doPrivileged()の呼び出し回避 |
中 | Avoid Extend Permission | OPT.JAVA.J2EE.AvoidExtendPermission | AvoidExtendPermission:java.security.Permissionの継承の回避 |
中 | Avoid Get Policy | OPT.JAVA.J2EE.AvoidGetPolicy | AvoidGetPolicy:Policy.getPolicy()の呼び出し回避 |
中 | Avoid Get Property | OPT.JAVA.J2EE.AvoidGetProperty | AvoidGetProperty:java.security.getProperty()の呼び出し回避 |
中 | Avoid Large Blocks | OPT.JAVA.J2EE.AvoidLargeBlocks | AvoidLargeBlocks:5行を超える特権ブロックの回避 |
中 | Avoid Permission Instance | OPT.JAVA.J2EE.AvoidPermissionInstance | AvoidPermissionInstance:java.security.Permissionのインスタンスの生成の回避 |
中 | Avoid Policy Instance | OPT.JAVA.J2EE.AvoidPolicyInstance | AvoidPolicyInstance:java.security.Policyのインスタンスの生成の回避 |
中 | Avoid Set Policy | OPT.JAVA.J2EE.AvoidSetPolicy | AvoidSetPolicy:Policy.setPolicy()の呼び出し回避 |
中 | Avoid Alter Check Security Manager | OPT.JAVA.J2SE.AvoidAlterCheckSecurityManager | AvoidAlterCheckSecurityManager:SecurityManagerのcheck*メソッドの上書き回避 |
中 | Avoid Catch Security Exception | OPT.JAVA.J2SE.AvoidCatchSecurityException | AvoidCatchSecurityException:Java.lang.SecurityExceptionの例外キャッチの回避 |
中 | Avoid Static Public No Final Field | OPT.JAVA.J2SE.AvoidStaticPublicNoFinalField | AvoidStaticPublicNoFinalField:finalではないpublic staticフィールドの回避 |
中 | Avoid Using J A X R P C | OPT.JAVA.JAX.AvoidUsingJAXRPC | AvoidUsingJAXRPC:JAX-RPCの使用回避 |
中 | Include A P IVersion Number Into URL | OPT.JAVA.JAX.IncludeAPIVersionNumberIntoURL | IncludeAPIVersionNumberIntoURL:API バージョン番号をURLに含める |
中 | Use Default Value Annotation | OPT.JAVA.JAX.UseDefaultValueAnnotation | UseDefaultValueAnnotation:リクエストを処理するときに @DefaultValueアノテーションの使用 |
中 | Use Generic Entity | OPT.JAVA.JAX.UseGenericEntity | UseGenericEntity:インスタンスのリストを返す際にはGenericEntityの使用 |
中 | Use JSON Responses | OPT.JAVA.JAX.UseJSONResponses | UseJSONResponses:REST アプリケーションではJSONレスポンスの使用 |
中 | Use Proper Return Types And Response Codes | OPT.JAVA.JAX.UseProperReturnTypesAndResponseCodes | UseProperReturnTypesAndResponseCodes:適切なリターン形式で、適切なレスポンスコードを含める |
中 | P S T | OPT.JAVA.JDBC.PST | PST:同様のリクエストに対しては、Statementの代わりにPreparedStatementの使用 |
中 | R R W D | OPT.JAVA.JDBC.RRWD | RRWD:処理の終了時にJDBCリソースを閉じる |
中 | S E L E C T | OPT.JAVA.JDBC.SELECT | SELECT:SELECT *を使ったSQL文の回避 |
中 | Javadoc T O D O | OPT.JAVA.JDOC.JavadocTODO | JavadocTODO:本番環境のコードでのTODOコメントの回避 |
中 | Javadoc Throws Rule | OPT.JAVA.JDOC.JavadocThrowsRule | JavadocThrowsRule:publicメソッドとprotectedメソッドのJavadocコメントに@throwsタグを使用 |
中 | Call Super Set Up From Set Up | OPT.JAVA.JUNIT_JAVA.CallSuperSetUpFromSetUp | CallSuperSetUpFromSetUp:常にJUnit TestCaseのsetUpメソッドからsuper.setUp()の呼び出し |
中 | Call Super Tear Down From Tear Down | OPT.JAVA.JUNIT_JAVA.CallSuperTearDownFromTearDown | CallSuperTearDownFromTearDown:常にJUnit TestCaseのtearDown()メソッドからsuper.tearDown()の呼び出し |
中 | Invoke Suite As Static Public | OPT.JAVA.JUNIT_JAVA.InvokeSuiteAsStaticPublic | InvokeSuiteAsStaticPublic:常にJunit.framework.TestCase.suite()をpublic staticメソッドとして宣言 |
中 | I A C B | OPT.JAVA.LOOP.IACB | IACB:配列のコピーにはループを使用する代わりにSystem.arraycopy()の使用 |
中 | L I N T | OPT.JAVA.LOOP.LINT | LINT:ループ内では整数型のインデックス変数の使用 |
中 | Avoid Call Run From Servlet | OPT.JAVA.MAN.AvoidCallRunFromServlet | AvoidCallRunFromServlet:サーブレットからjava.lang.Runnable.run()の呼び出し回避 |
中 | Avoid Confused Multiplication | OPT.JAVA.MAT.AvoidConfusedMultiplication | AvoidConfusedMultiplication:紛らわしい乗算の回避 |
中 | Avoid Modulus One | OPT.JAVA.MAT.AvoidModulusOne | AvoidModulusOne:1に等しいモジュラス値(剰余値)の回避 |
中 | Avoid Static Call Math | OPT.JAVA.MAT.AvoidStaticCallMath | AvoidStaticCallMath:java.lang.Mathのstaticメソッドの定数への呼び出し回避 |
中 | Check Variable Odd Value | OPT.JAVA.MAT.CheckVariableOddValue | CheckVariableOddValue:変数の奇数判定方法(var % 2 == 1の使用) |
中 | Avoid Number Instance With New | OPT.JAVA.MEM.AvoidNumberInstanceWithNew | AvoidNumberInstanceWithNew:newを使用した数値のインスタンス作成の回避 |
中 | Avoid Run Finalization | OPT.JAVA.MEM.AvoidRunFinalization | AvoidRunFinalization:java.lang.Runtime.runFinalization()の呼び出し回避 |
中 | Avoid Return Null Enumeration | OPT.JAVA.NULL.AvoidReturnNullEnumeration | AvoidReturnNullEnumeration:nullを返す代わりに空の列挙型を返す |
中 | Avoid Return Null Iterator | OPT.JAVA.NULL.AvoidReturnNullIterator | AvoidReturnNullIterator:nullではなく空のiteratorを返す |
中 | Null Dereference | OPT.JAVA.NullDereference | NullDereference:NULLポインタの参照禁止 |
中 | D N C S S | OPT.JAVA.PB.DNCSS | DNCSS:ComponentListener.componentResized()でsetSize()の呼び出し禁止 |
中 | Empty pages | OPT.JAVA.PB.ISEM | ISEM:varString.equals(定数)またはvarString.equalsIgnoreCase(定数)の呼び出し回避 |
中 | J U I N | OPT.JAVA.PB.JUIN | JUIN:エラーを伴うインクリメント演算子の回避 |
中 | M ASP | OPT.JAVA.PB.MASP | MASP:シリアライズ可能なクラスのreadResolve()およびwriteReplace()メソッドにはprotectedの宣言 |
中 | MVC | OPT.JAVA.PB.MVC | MVC:クラス内の変数と同じ名前のローカル変数の回避 |
中 | Num Max Class By Package | OPT.JAVA.PB.NumMaxClassByPackage | NumMaxClassByPackage:パッケージ/名前空間ごとの過剰なクラス数の回避 |
中 | R F F B | OPT.JAVA.PB.RFFB | RFFB:finallyブロックからの復帰 |
中 | U E I | OPT.JAVA.PB.UEI | UEI:オブジェクトの比較にequals()の使用 |
中 | U O M E | OPT.JAVA.PB.UOME | UOME:不用なメソッドの上書き禁止 |
中 | Avoid Dump Stack | OPT.JAVA.PERF.AvoidDumpStack | AvoidDumpStack:本番環境のコードでのThread.dumpStack()の使用回避 |
中 | Avoid System | OPT.JAVA.PERF.AvoidSystem | AvoidSystem:本番環境のコードでのSystem.outやSystem.errの使用回避 |
中 | Avoid Call Connection From Servlet | OPT.JAVA.RECBAS.AvoidCallConnectionFromServlet | AvoidCallConnectionFromServlet:サーブレットのfinalize()メソッドからjava.sql.Connectionの呼び出し回避 |
中 | Avoid Call Net From Servlet | OPT.JAVA.RECBAS.AvoidCallNetFromServlet | AvoidCallNetFromServlet:サーブレットのfinalize()メソッドからのjava.net.*の呼び出し回避 |
中 | Avoid Call Omg From Servlet | OPT.JAVA.RECBAS.AvoidCallOmgFromServlet | AvoidCallOmgFromServlet:サーブレットのfinalize()メソッドからのorg.omg.*の呼び出し回避 |
中 | Avoid Call Result Set From Servlet | OPT.JAVA.RECBAS.AvoidCallResultSetFromServlet | AvoidCallResultSetFromServlet:サーブレットのfinalize()メソッドからjava.sql.ResultSetの呼び出し回避 |
中 | Avoid Call Statement From Servlet | OPT.JAVA.RECBAS.AvoidCallStatementFromServlet | AvoidCallStatementFromServlet:サーブレットのfinalize()メソッドからjava.sql.Statementの呼び出し回避 |
中 | Avoid Date Matrix | OPT.JAVA.RECBASJ2SE.AvoidDateMatrix | AvoidDateMatrix:Date型の2次元配列の使用回避 |
中 | Avoid Call Jar From Servlet | OPT.JAVA.RENDESC.AvoidCallJarFromServlet | AvoidCallJarFromServlet:サーブレットからのjava.util.jar.*の呼び出し回避 |
中 | Avoid Call Rmi From Servlet | OPT.JAVA.RENDESC.AvoidCallRmiFromServlet | AvoidCallRmiFromServlet:サーブレットからのjava.rmi.*の呼び出し回避 |
中 | A D GC | OPT.JAVA.RGM.ADGC | ADGC:java.util.Dateまたはjava.util.GregorianCalendarの使用回避 |
中 | A F P | OPT.JAVA.RGM.AFP | AFP:メソッドやコンストラクタのパラメータの修正の回避 |
中 | A R N | OPT.JAVA.RGM.ARN | ARN:nullの代わりに長さ0の配列を返す |
中 | B L K D O W H L | OPT.JAVA.RGM.BLKDOWHL | BLKDOWHL:「do-while」ステートメントには中括弧ブロックの使用 |
中 | B L K F O R | OPT.JAVA.RGM.BLKFOR | BLKFOR:「for」文には中括弧ブロックの使用 |
中 | B L K W H L | OPT.JAVA.RGM.BLKWHL | BLKWHL:「while」文には中括弧ブロックの使用 |
中 | C L N C | OPT.JAVA.RGM.CLNC | CLNC:clone()メソッドでのコンストラクタの使用回避 |
中 | Make your clone() method final for security | OPT.JAVA.RGM.CLONE | CLONE:すべてのclone()メソッドでsuper.clone()の呼び出し |
中 | D U I D | OPT.JAVA.RGM.DUID | DUID:すべてのSerializableクラスにserialVersionUIDの作成 |
中 | Dont Use Assert | OPT.JAVA.RGM.DontUseAssert | DontUseAssert:Assertの使用およびAssertionErrorの起動の禁止 |
中 | F F | OPT.JAVA.RGM.FF | FF:定数フィールドはprivateかつfinalとして宣言 |
中 | F L V | OPT.JAVA.RGM.FLV | FLV:定数のローカル変数はfinalとして宣言 |
中 | H M F | OPT.JAVA.RGM.HMF | HMF:メソッドのローカル変数やパラメータに、クラスのフィールドと同じ名前を付けない |
中 | P C I F | OPT.JAVA.RGM.PCIF | PCIF:条件文とインクリメント文によるforループの宣言 |
中 | P C I F2 | OPT.JAVA.RGM.PCIF2 | PCIF2:forブロックで条件文を1つだけ使う |
中 | P C I F3 | OPT.JAVA.RGM.PCIF3 | PCIF3:明示的な条件文とインクリメント/デクリメント文による「for」ループの使用 |
中 | P C T O R | OPT.JAVA.RGM.PCTOR | PCTOR:publicでないクラスではpublicコンストラクタの宣言禁止 |
中 | P S F A | OPT.JAVA.RGM.PSFA | PSFA:public static final配列フィールドの使用回避 |
中 | U S T | OPT.JAVA.RGM.UST | UST:Stringの解析にはindexOf()やsubstring()の代わりにStringTokenizerを使用 |
中 | C IP A | OPT.JAVA.RGME.CIPA | CIPA:定数配列からの大きな配列初期化の回避 |
中 | O O M E | OPT.JAVA.RGME.OOME | OOME:大きな配列の初期化でOutOfMemoryErrorを例外キャッチする |
中 | U N C | OPT.JAVA.RGOR.UNC | UNC:その変数が実装するインターフェースや、その変数を継承する基底クラスに変数をキャストすることは禁止 |
中 | Use Service Locator Pattern | OPT.JAVA.RGOR.UseServiceLocatorPattern | UseServiceLocatorPattern:「Service Locator」パターンの適用 |
中 | Avoid Packages | OPT.JAVA.RGP.AvoidPackages | AvoidPackages:特定のパッケージのインポート禁止 |
中 | L N S P | OPT.JAVA.RGP.LNSP | LNSP:行区切り文字のハードコードの禁止 |
中 | No Absolute Paths | OPT.JAVA.RGP.NoAbsolutePaths | NoAbsolutePaths:絶対パスを使用禁止 |
中 | Make your clone() method final for security | OPT.JAVA.RGS.CLONE | CLONE:セキュリティのためにclone()メソッドはfinalに宣言 |
中 | Do not compare class objects with getName() or getSimpleName() methods | OPT.JAVA.RGS.CMP | CMP:getName()またはgetSimpleName()メソッドを使用するクラスオブジェクトの比較禁止 |
中 | Define inner classes as private | OPT.JAVA.RGS.INNER | INNER:内部クラスはprivateで定義 |
中 | Inner classes should be protected or private | OPT.JAVA.RGS.PKG | PKG:内部クラスは「protected」または「private」にする |
中 | Avoid EJB AWT Swing | OPT.JAVA.SEC_JAVA.AvoidEJBAWTSwing | AvoidEJBAWTSwing:EJBの不適切な実装:AWT Swingの使用 |
中 | Avoid EJB JVM Shutdown | OPT.JAVA.SEC_JAVA.AvoidEJBJVMShutdown | AvoidEJBJVMShutdown:J2EEの不適切な実装:System.exit()の使用 |
中 | Avoid EJB Java Io | OPT.JAVA.SEC_JAVA.AvoidEJBJavaIo | AvoidEJBJavaIo:EJBの不適切な実装:Java I/Oの使用 |
中 | Avoid EJB Redirect Streams | OPT.JAVA.SEC_JAVA.AvoidEJBRedirectStreams | AvoidEJBRedirectStreams:EJBの入力、出力、エラーのストリームの変更回避 |
中 | Avoid EJB Set Class Loader | OPT.JAVA.SEC_JAVA.AvoidEJBSetClassLoader | AvoidEJBSetClassLoader:EJBでコンテキストのClassLoaderの設定回避 |
中 | Avoid EJB Set Security Manager | OPT.JAVA.SEC_JAVA.AvoidEJBSetSecurityManager | AvoidEJBSetSecurityManager:EJBでシステムのSecurityManager の設定回避 |
中 | Avoid EJB Synchronization Primitives | OPT.JAVA.SEC_JAVA.AvoidEJBSynchronizationPrimitives | AvoidEJBSynchronizationPrimitives:EJBでの同期プリミティブの使用回避 |
中 | Avoid J2EE Direct Database Connection | OPT.JAVA.SEC_JAVA.AvoidJ2EEDirectDatabaseConnection | AvoidJ2EEDirectDatabaseConnection:J2EEの不適切な実装:Connectionの直接管理 |
中 | Avoid J2EE Explicit Socket | OPT.JAVA.SEC_JAVA.AvoidJ2EEExplicitSocket | AvoidJ2EEExplicitSocket:J2EEの不適切な実装:Socketの直接使用 |
中 | Avoid J2EE Explicit Thread Management | OPT.JAVA.SEC_JAVA.AvoidJ2EEExplicitThreadManagement | AvoidJ2EEExplicitThreadManagement:J2EEの不適切な実装:Threadの直接使用 |
中 | Avoid J2EE Leftover Debug Code | OPT.JAVA.SEC_JAVA.AvoidJ2EELeftoverDebugCode | AvoidJ2EELeftoverDebugCode:J2EEアプリケーションに残されたデバッグコード |
中 | Avoid J2EE Non Serializable Objects Stored | OPT.JAVA.SEC_JAVA.AvoidJ2EENonSerializableObjectsStored | AvoidJ2EENonSerializableObjectsStored:J2EEアプリケーションで、セッションに格納されたシリアライズ不可能なオブジェクトの回避 |
中 | Avoid Native Calls Rule | OPT.JAVA.SEC_JAVA.AvoidNativeCallsRule | AvoidNativeCallsRule:Javaからのネイティブ(JNI)コード呼び出しの回避 |
中 | Detail Error Leak Rule | OPT.JAVA.SEC_JAVA.DetailErrorLeakRule | DetailErrorLeakRule:クライアントへの詳細なエラー情報の送信禁止 |
中 | Execution After Redirect | OPT.JAVA.SEC_JAVA.ExecutionAfterRedirect | ExecutionAfterRedirect:リダイレクト処理後のコードの実行(EAR) |
中 | Potential Infinite Loop | OPT.JAVA.SEC_JAVA.PotentialInfiniteLoop | PotentialInfiniteLoop:到達不可能な終了条件を持つルール(無限ループ) |
中 | Unchecked Input In Loop Condition | OPT.JAVA.SEC_JAVA.UncheckedInputInLoopCondition | UncheckedInputInLoopCondition:ループ条件における未チェックの入力 |
中 | Avoid Assign Repeated Value | OPT.JAVA.SENT.AvoidAssignRepeatedValue | AvoidAssignRepeatedValue:すでに代入された値を変数に代入しない |
中 | Avoid Call Get Resource Rule | OPT.JAVA.SENT.AvoidCallGetResourceRule | AvoidCallGetResourceRule:this.getClass.getResourceの呼び出し回避 |
中 | Avoid Compare Float Point | OPT.JAVA.SENT.AvoidCompareFloatPoint | AvoidCompareFloatPoint:浮動小数点の比較の回避 |
中 | Implement Externalizable | OPT.JAVA.SERI.ImplementExternalizable | ImplementExternalizable:Externalizableを実装するすべてのクラスには、パラメーターのないコンストラクタが必要 |
中 | Private Read Write Objects | OPT.JAVA.SERI.PrivateReadWriteObjects | PrivateReadWriteObjects:externalizable/serializableクラスで、オプションのreadObjectとwriteObjectをprivateとして宣言 |
中 | Avoid Implement Single Thread Model | OPT.JAVA.SERV.AvoidImplementSingleThreadModel | AvoidImplementSingleThreadModel:サーブレットでのjavax.servlet.SingleThreadModelインターフェースの実装の回避 |
中 | Avoid Large Syncronised Blocks | OPT.JAVA.SERV.AvoidLargeSyncronisedBlocks | AvoidLargeSyncronisedBlocks:6つ以上のステートメントを持つ同期ブロックの回避 |
中 | Avoid Constructor Injection By Name | OPT.JAVA.SPRING.AvoidConstructorInjectionByName | AvoidConstructorInjectionByName:名前によるコンストラクタインジェクションの回避 |
中 | Avoid Hardcoding Properties Into XML | OPT.JAVA.SPRING.AvoidHardcodingPropertiesIntoXML | AvoidHardcodingPropertiesIntoXML:XML記述子へのプロパティのハードコーディングを避け、代わりに外部に定義 |
中 | Avoid Loading Multiple XML Configuration Files | OPT.JAVA.SPRING.AvoidLoadingMultipleXMLConfigurationFiles | AvoidLoadingMultipleXMLConfigurationFiles:複数のXML設定ファイルの読み込みの回避 |
中 | Avoid Too Deep Hierarchy In Jobs | OPT.JAVA.SPRING.AvoidTooDeepHierarchyInJobs | AvoidTooDeepHierarchyInJobs:ジョブの深すぎる階層の回避 |
中 | Avoid Too Deep Hierarchy In Steps | OPT.JAVA.SPRING.AvoidTooDeepHierarchyInSteps | AvoidTooDeepHierarchyInSteps:深すぎるステップ階層の回避 |
中 | Avoid Using Version Numbers Within Spring Schema Names | OPT.JAVA.SPRING.AvoidUsingVersionNumbersWithinSpringSchemaNames | AvoidUsingVersionNumbersWithinSpringSchemaNames:Springスキーマ名でのバージョン番号の使用回避 |
中 | Disable XML Validation In Production | OPT.JAVA.SPRING.DisableXMLValidationInProduction | DisableXMLValidationInProduction:本番環境でのXML検証を無効にする |
中 | Enforces JSON Responses | OPT.JAVA.SPRING.EnforcesJSONResponses | EnforcesJSONResponses:REST アプリケーションではJSONレスポンスの使用 |
中 | Prefer Repository Rest Resource Annotation | OPT.JAVA.SPRING.PreferRepositoryRestResourceAnnotation | PreferRepositoryRestResourceAnnotation:RestResourceの代わりにRepositoryRestResourceアノテーションの使用 |
中 | Setup Commit Interval For Chunk Processing | OPT.JAVA.SPRING.SetupCommitIntervalForChunkProcessing | SetupCommitIntervalForChunkProcessing:チャンク処理の適切なコミット間隔の設定 |
中 | Use Annotations To Create Controllers | OPT.JAVA.SPRING.UseAnnotationsToCreateControllers | UseAnnotationsToCreateControllers:アノテーションだけでコントローラの作成 |
中 | Use Java Based Configuration Instead XML Config | OPT.JAVA.SPRING.UseJavaBasedConfigurationInsteadXMLConfig | UseJavaBasedConfigurationInsteadXMLConfig:XMLベースの設定の代わりにJavaベースの設定の使用 |
中 | Use Lazy Initialized Singleton Beans | OPT.JAVA.SPRING.UseLazyInitializedSingletonBeans | UseLazyInitializedSingletonBeans:遅延初期化シングルトンBeanの使用 |
中 | Use Thread Safe Multi Threading Steps | OPT.JAVA.SPRING.UseThreadSafeMultiThreadingSteps | UseThreadSafeMultiThreadingSteps:スレッドセーフなマルチスレッド処理の使用 |
中 | A D L R | OPT.JAVA.STR.ADLR | ADLR:リテラルの重複の回避 |
中 | Avoid String Concat | OPT.JAVA.STR.AvoidStringConcat | AvoidStringConcat:「+」または「+=」を使用した文字列連結の回避 |
中 | L S T R | OPT.JAVA.STR.LSTR | LSTR:1文字の文字列をループ内で連結しない |
中 | N T U L C | OPT.JAVA.STR.NTULC | NTULC:toUpperCase.equalsとtoLowerCase.equalsのどちらも使用しない |
中 | S B | OPT.JAVA.STR.SB | SB:StringBuffer/StringBuilderは明示的な初期サイズでインスタンス化 |
中 | U C T M | OPT.JAVA.STR.UCTM | UCTM:不必要な時間変換の回避 |
中 | U S B | OPT.JAVA.STR.USB | USB:文字列の連結演算子「+」の使用回避 |
中 | F I E L D S | OPT.JAVA.STRUTS.FIELDS | FIELDS:ActionFormを継承するフォームBeanの各フィールドにはgetterとsetterを用意 |
中 | F O R M | OPT.JAVA.STRUTS.FORM | フォーム:フォームBeanでは、getterとsetterの使用 |
中 | I N S T | OPT.JAVA.STRUTS.INST | INST:Actionクラスのインスタンス変数の回避 |
中 | Case With Return | OPT.JAVA.SWITCH.CaseWithReturn | CaseWithReturn:すべてのCASE文はbreak文で終わることが必要 |
中 | Avoid Map Set In URL | OPT.JAVA.VELOC.AvoidMapSetInURL | AvoidMapSetInURL:java.net.URLオブジェクトのMapメソッドとSetメソッドの回避 |
中 | Avoid String Equals | OPT.JAVA.VELOC.AvoidStringEquals | AvoidStringEquals:String.equals()を使用して系列の長さをチェックしない |
中 | Avoid URL Methods | OPT.JAVA.VELOC.AvoidURLMethods | AvoidURLMethods:java.net.URLのequals()とhashCode()の使用回避 |
中 | Transient For System Resources | OPT.JAVA.J2SE.TransientForSystemResources | TransientForSystemResources:システムリソースを持つフィールドにはtransient修飾子を付ける |
中 | Check HTTP Methods | OPT.JAVA.JAX.CheckHTTPMethods | CheckHTTPMethods:リクエストの送信に使われるHTTPメソッドの確認 |
中 | Avoid Total Memory Debug | OPT.JAVA.PERF.AvoidTotalMemoryDebug | AvoidTotalMemoryDebug:Runtime.totalMemory()によるデバッグの回避 |
中 | Avoid Trace Method Calls Debug | OPT.JAVA.PERF.AvoidTraceMethodCallsDebug | AvoidTraceMethodCallsDebug:Runtime.traceMethodCalls()によるデバッグの回避 |
中 | Hardcoded Username Password | OPT.JAVA.SEC_JAVA.HardcodedUsernamePassword | HardcodedUsernamePassword:ハードコードされた資格情報の使用 |
中 | Password In Configuration File | OPT.JAVA.SEC_JAVA.PasswordInConfigurationFile | PasswordInConfigurationFile:設定ファイルでの認証情報の使用 |
中 | Plaintext Storage Of Password | OPT.JAVA.SEC_JAVA.PlaintextStorageOfPassword | PlaintextStorageOfPassword:パスワードの平文保存 |
中 | Serializable Class Containing Sensitive Data | OPT.JAVA.SEC_JAVA.SerializableClassContainingSensitiveData | SerializableClassContainingSensitiveData:機密データを含むシリアライズ可能クラスの検出 |
中 | Weak Password Hashing | OPT.JAVA.SEC_JAVA.WeakPasswordHashing | WeakPasswordHashing:脆弱なパスワードのハッシュ化 |