メソッドの静的インポートは良いアイデアではなかったというレビューコメントを受け取りました。静的インポートは、ほとんどが静的メソッドを持つDAクラスからのメソッドのインポートでした。そのため、ビジネスロジックの途中で、どうやら現在のクラスに属しているように見えるdaアクティビティがありました。
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
レビュー担当者は、私がコードを変更することには熱心ではなく、変更しませんでしたが、私は彼にある程度同意します。静的インポートではない理由の1つは、メソッドが定義された場所がわかりにくく、現在のクラスではなく、スーパークラスでもないため、定義を特定するのに時間がかかりすぎたためです(Webベースのレビューシステムにはクリック可能ではありません) IDEのようなリンク:-)これは問題だとは思いません。静的インポートはまだ非常に新しく、すぐにそれらを見つけることに慣れるでしょう。
しかし、私が同意するもう1つの理由は、修飾されていないメソッド呼び出しは現在のオブジェクトに属しているようであり、コンテキストをジャンプするべきではないということです。しかし、もしそれが本当に属していたなら、そのスーパークラスを拡張することは理にかなっています。
だから、ときんそれは、静的インポート方法に意味をなさない?いつやったの?修飾されていない呼び出しがどのように見えるか、好きですか?
編集:誰もが現在のクラスのメソッドとしてそれらを混乱させるつもりがない場合、人気のある意見は静的インポートメソッドであるようです。たとえば、java.lang.Mathおよびjava.awt.Colorのメソッドの例です。しかし、absとgetAlphaがあいまいでなければ、readEmployeeがなぜなのかわかりません。多くのプログラミングの選択と同様に、これも個人的な好みの問題だと思います。
ご回答ありがとうございます。質問を締めくくります。
import static
、機能はstatic import