web-dev-qa-db-ja.com

Javaで「this」キーワードを過度に使用する

Thisキーワードは、主に3つの状況で使用されます。

最初で最も一般的なのは、変数参照を明確にするセッターメソッドです。

2つ目は、現在のクラスインスタンスを引数として別のオブジェクトのメソッドに渡す必要がある場合です。

3つ目は、コンストラクター内から代替コンストラクターを呼び出す方法です。

ただし、職場の誰かがPMD/Checkstyleルールを職場に配置することを決定したため、すべての変数とメソッドの前に「this」を配置する必要があります。それを実行することは本当に実行可能ですか、それとも単に冗長にすることですか?

関連: Javaで `this`キーワードを使用するために受け入れられているスタイルは何ですか?

13
Chris

この質問は、意見に基づく情報と事実に基づく情報の境界をまたいでいます。それでも、「これはスタイルの質問です。好きなことをしてください」という通常の答えは単純すぎるので、オープンにしておくことは十分に価値があると思います。だからここにmy指摘された意見があります:

thisを使用してクラス内のクラスの属性を参照することは冗長であるため、明確な利点はありませんが、コードの冗長性が向上します。ほとんどの場合、使用するツールを介して変数のステータスを検索できるだけでなく、さらに重要なのは、検索する必要がある場合は、最初にクラスが大きすぎるです。ローカル変数の宣言を見つけるために上にスクロールする必要があるメソッドと同様に長すぎるです。クラス内でコードを記述しているときにメンバーフィールドを検索する必要がある場合は、-そのクラスはやりすぎです

つまり、this.fieldName明確化を除いて、不必要なくだらないことであり、一般的に与えられた理由でそれが必要な場合は、スコープの問題よりも大きな問題があります。

19
Kilian Foth

Javaを検討する:冗長すぎるIHMO。

ただし、JavaとJavascriptを頻繁に切り替える環境にいる場合は、「this。」の使用法に一貫性があるとメリットがあるかもしれません(私もそれを検討します)冗長ですが、ケースが作成されているのがわかります)。

2
ptyx