4

例: 新しいユニットを作成し、コンストラクタ、デストラクタ、メソッド 1、メソッド 2、メソッド 3 などのいくつかのメソッドをこの順序で含むクラスを宣言し、Ctrl-Shift-C を押します。IDE はすべてのメソッド本体を自動的に作成しますが、順序が混同されており、インターフェイス セクションで宣言されたとおりではありません。

さて、これは問題ではありませんが、それには理由がありますか。宣言順にするよりも、ごちゃまぜにする方が難しそうです。

それとも、私には見えない、理にかなっているルールがありますか?

4

4 に答える 4

12

これは、メソッドがすでにどのように配置されているかに依存するため、答えるのが少し複雑です。

それらがすでにアルファベット順に実装されている場合は、それを維持しようとします。IDEがどのような種類の順序も推測できない場合、IDEはファイルの最後にそれらをドロップすることになります。

別の問題があります。慣例により、実装されたメソッドの最初のブロックの前に{<ClassName>}の形式でコメントを含め、そのコメントを使用して後続のすべてのクラス実装を描写すると、メソッドがグループ化されたままになります。一緒。

アルファベット順は、示されたコメントで示される論理ブロックに新しいメソッドを挿入できることを除いて、上記と同じルールに従います。

まったく新しいクラスでクラス補完を使用する場合、IDEがその描写コメントを自動的に生成することに気付くでしょう。

クラスの完了でメソッドを自動配置し、Ctrl+ Shift+UpArキーのみを使用してメソッドの実装と宣言の間を移動する場合、順序はそれほど重要ではありません。

通常、上記のキーシーケンスを使用してクラスdeclにジャンプし、矢印キーを使用して目的のdeclのメソッドに移動し、そのキーシーケンスを再度使用してすばやくアクセスします。

もう1つの優れたキーシーケンスは、ファイル順でメソッドimplからメソッドimplにすばやくジャンプする++Ctrlまたは++Altです。UpArCtrlAltDnAr

于 2009-02-09T20:25:07.307 に答える
3

デフォルトでは、メソッド名のアルファベット順にそれらを作成しようとし、その後同じメソッドを使用してさらにメソッドが追加されたときにこれを維持しようとすると確信しています。最終的な結果は、注文時に少しランダムに混ざり合う可能性があります。

于 2009-02-09T12:34:08.687 に答える
0

私の経験から、IDEがアルファベット順にメソッドを作成する場合もあれば、ファイルの最後に新しいメソッドを追加する場合もあります。

于 2009-02-09T12:34:11.570 に答える
0

IDE はすべてをアルファベット順に作成しようとします。ただし、メソッドの順序が乱れると (たとえば、メソッドの名前を変更するなど)、混乱が生じます。正確な動作はバージョンによって異なるようです。古いバージョンでは、新しいメソッドを任意の順序でファイルの末尾に追加するだけでした。新しいバージョンは少し賢いように見えますが、私はまだその方法を正確に理解していません.

于 2009-02-09T16:56:51.613 に答える