2
次のコード部分では、SonarQubeの大きなバグが発生しています。 "条件付きでメソッドを呼び出す"。
これをどのように修正する必要がありますか?ソナー:条件付きでのみメソッドを呼び出す
if(us != null){
logger.info("Log this: {}", us.toString());
}
次のコード部分では、SonarQubeの大きなバグが発生しています。 "条件付きでメソッドを呼び出す"。
これをどのように修正する必要がありますか?ソナー:条件付きでのみメソッドを呼び出す
if(us != null){
logger.info("Log this: {}", us.toString());
}
us.toString()
への呼び出しはtoString()
方法に関係なく設定されたログレベルと呼ばれる、冗長です。 ステートメントなしでinfo
の引数としてus
だけを渡す必要があります。
logger.info("Log this: {}", us);
質問のコメントで述べたように、他の作業の答えは次のとおりです。
if(logger.isInfoEnabled() && us != null){
logger.info("Log this: {}", us.toString());
}
あなたはその検査をオフにすることができます。また、プロジェクトのことが必要なのですか? – QBrute
@QBroute私は "ターンオフ"したくないですが、推奨される解決策の1つであるif()が適用されて以来、まだバグが発生する理由を知りたいと思います。および/または解決策。 – Olezt
どのロギングフレームワークを使用していますか? SonarQubeインスタンスのどのバージョンのSonarJavaプラグインを使用しますか? –