1

怠惰なプログラマーである私は、通常、JspJavaコードの両方でコンパイラーの警告を見落としています。

JavaScript、バリデーション、その他の欠落は実行時に解決できると考えると、JSPの警告を正当化できます。しかし、確認する必要があります。

しかし、私はいつも次のようなJavaの警告にからかわれています

  • 【GENERICタイプ】はロータイプです。ジェネリック型 [GENERIC TYPE] への参照はパラメーター化する必要があります。

  • フィールド [FIELD NAME] がローカルで読み取られることはありません。

などなど。

私の質問はそれです

警告はパフォーマンスに影響しますか?

  • そうでない場合、なぜコンパイラは叫び続けるのでしょうか?私たちが良いコードを書くのに役立っているのでしょうか?
  • もしそうなら、どのタイプの警告を無視すべきではありませんか?
  • はいの場合、(記憶は可能性があります)どのくらいの深さですか?
4

2 に答える 2

0

コンパイラの警告は、ほとんどの場合、潜在的な意図しない動作や不要なコードを警告しています。実際には、コードの実行時のパフォーマンスに影響を与えることはありません。パフォーマンスの悪いコードを書くことは(はるかに簡単に)、はるかに大きな心配です。

未使用のローカル変数に関する限り、一部のコンパイラはこれを最適化し、単に割り当て用のメモリを割り当てない可能性があります。ただし、結果を生成するステートメントには副作用が含まれている可能性があるため、実行する必要があります。

コードにとって重要ではないことを認めるさまざまなタイプのコンパイラ警告をオフにする方法があります(たとえば、「serialVersionUIDを宣言する必要があります」という警告は、特に当てはまらないことが多い一般的な警告です)。これは、クラス/メソッド/フィールドごとに@SuppressWarningsアノテーションを使用して行うか、オプションを指定してコンパイラレベルで1回行うことができます。

于 2012-05-31T14:05:26.397 に答える
0

そうでない場合、なぜコンパイラは叫び続けるのですか? 良いコードを書くのに役立っていますか?

間違いなくそうです。これらの警告のほとんどは「ベストプラクティス...実践されていない」です:)たとえば、Javaがジェネリックを提供するようになった場合、生の型を使用するのはなぜですか?

それらを無視する理由があるかもしれません。そして、多くの IDE では、これらの警告をオフにすることができます。

于 2012-05-30T10:08:31.767 に答える