Frage

Ich habe einige Entwickler setzen Instanz am Ende der Klassen Variablendeklarationen gesehen, obwohl ich sie meist an der Spitze platziert sehen. Die einzigen Gründe, warum ich denke, kann dies zu tun sind stilistische Vorlieben oder vielleicht irgendwie macht es sie leichter in einer IDE zu arbeiten. Gibt es einen legitimen Grund für die Wahl dieses Stils?

War es hilfreich?

Lösung

Durch „Programm auf eine‚Schnittstelle‘, nicht als‚Durchführung‘.“ (Gang of Four 1995: 18) ( http://en.wikipedia.org/wiki/ Design_Patterns # Introduction.2C_Chapter_1 ), bevorzugen manche Menschen Instanzvariablen am Ende der Klasse zu erklären. ist die Theorie, dass der Benutzer einer Klasse ist mehr daran interessiert, was sie mit der Klasse (Methoden) tun können, im Gegensatz zu, wie etwas gemacht wird (Variablen). Die Platzierung der Methoden an der Spitze der Klasse setzt sie zuerst an den Benutzer, wenn sie den Code anschauen.

Andere Tipps

Es gibt keine besonders „gut“ Grund dafür eine oder andere Weise zu tun. Das einzige, was wirklich zählt, ist, dass jeder auf dem gleichen Projekt hat es die gleiche Art und Weise.

Allerdings ist sie an der Spitze platzieren weit häufiger in meiner Erfahrung und ist die Praxis empfohlen durch das Java Artrichtlinien , so dass das, was ich würde gehen mit.

Sie können Ihre gewählte Konvention mit einem automatischen Quellcode-Formatierer wie Jalopy , oder dass erzwingen, die mit kommt eclipse.

Es ist meistens (wenn auch nicht ganz) persönliche Präferenz. Ich mag mich an der Spitze, aber ich kann nicht wirklich einen besseren Grund dafür geben, dann, dass es die Art und Weise, das ich gewohnt bin.

Die meisten Instanzvariablen sind private, so neige ich dazu, sie am Boden zu setzen, weil ich Mitglieder in der Reihenfolge abnehmender Sichtbarkeit erklären. Wenn ich erklärte ihnen, um von zu erhöhen Sichtbarkeit, die sie an der Spitze sein würde, was auch sinnvoll ist.

Was Ich mag es nicht mit öffentlichen Bereichen von privaten Methoden gefolgt private Felder gefolgt ist. Wenn ich eine Client-Klasse entwickle ich die öffentlichen Teile alle zusammen wollen (denn das ist alles was ich bin interessiert.)

Ich habe immer rationalisiert, dass, wenn Sie eine private Klassenstufe Variable haben, dann haben Sie entweder eine Konfiguration fest einprogrammiert, oder Sie Tracking-Zustand eine oder andere Weise. Wenn Sie Zustand sind Tracking, dann 1), die für jeden offensichtlich werden soll, gemacht, den Code in der Datei von dem Moment an sich die Datei öffnen schreiben geht, und 2) Verfolgen vieler Staaten ist ein großer Codegeruch, und wenn mein Devs das tut, dann will ich es offensichtlich sein. So ist es an der Spitze setzen, imho, macht schlechten Code offensichtliche, und dient als Warnung für künftige Menschen, die die Klasse bearbeiten.

Auf jeden Fall trennen public / geschützt gegen private Felder und die Mitglieder aber, weil Leute mit Interesse an einem, wahrscheinlich in der anderen nicht interessiert sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top