質問

クラスの最後にインスタンス変数宣言を配置する開発者もいますが、ほとんどが最上部に配置されています。これを行うために考えられる唯一の理由は、文体的な好みであるか、IDEでの作業をより簡単にする可能性があります。このスタイルを選択する正当な理由はありますか?

役に立ちましたか?

解決

「実装」ではなく「インターフェース」にプログラムするため」 (Gang of Four 1995:18)( http://en.wikipedia.org/wiki/ Design_Patterns#Introduction.2C_Chapter_1 )、一部の人々はクラスの下部でインスタンス変数を宣言することを好みます。理論は、クラスのユーザーは、何かを行う方法(変数)ではなく、クラス(メソッド)を使用して何ができるかにより関心があるというものです。クラスの最上部にメソッドを配置すると、ユーザーがコードを見たときに最初にそれらのメソッドが公開されます。

他のヒント

特に「良い」というものはありません。何らかの方法でそれを行う理由。本当に重要なことは、同じプロジェクトの全員が同じ方法でそれを行うことです。

ただし、それらを一番上に配置することは私の経験でははるかに一般的であり、 Javaスタイルガイドライン。したがって、私はこれを使用します。

Jalopy などの自動ソースコードフォーマッタを使用して、選択した規則を適用できます。 Eclipse。

ほとんどの場合(完全ではないにしても)個人的な好みです。私は一番上でそれらが好きですが、私はそれが私が慣れている方法であるという理由でそれのためにそれ以上のより良い理由を本当に本当に述べることができませんでした。

ほとんどのインスタンス変数は private であるため、可視性が低い順にメンバーを宣言するため、それらを一番下に置く傾向があります。可視性を高める順に宣言した場合、それらは最上位になります。これも合理的です。

好きではないのは、プライベートフィールドの後にパブリックフィールドが続き、プライベートメソッドが続くことです。クライアントクラスを開発している場合は、すべてのパブリックパーツを一緒にしたい(興味があるだけだから)

プライベートクラスレベルの変数がある場合は、構成をハードコーディングするか、何らかの方法で状態を追跡することを常に合理化してきました。状態を追跡している場合は、1)ファイルを開いた瞬間からファイルにコードを書き込むすべての人にそれを明らかにする必要があります。それをしている、それから私はそれが明白であることを望みます。したがって、それを最上位に置くと、悪いコードがより明白になり、クラスを編集する将来の人々に対する警告として役立ちます。

ただし、パブリック/保護フィールドとプライベートフィールドとメンバーを明確に分離します。一方に興味がある人は、もう一方には興味がない可能性が高いためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top