Frage an variables, java, android, methods, oop – Deklarieren Sie lokale Variablen so spät wie möglich oder an der nächsten geschweiften Klammer, zu der sie gehören? [geschlossen]

5

Ich arbeite daran, einige Programmierpraktiken für meine Organisation festzulegen. Dabei bin ich auf das Thema "Titel dieser Frage" gestoßen

Für einige empfiehlt es sich, Variablen so spät wie möglich zu deklarieren, und für andere empfiehlt es sich, sie in der ersten Klammer der Methode zu platzieren.

Oracle Standard sagt auch, sie so früh wie möglich zu deklarieren. Also, ich befürworte es, sie an der nächsten geschweiften Klammer zu deklarieren, zu der sie gehören.

Bedenken sind

Lesbarkeit des Codes

Performance

Weniger fehleranfällig

Alle Kommentare sind willkommen.

Was ist das Problem, wenn man nur den Oracle-Standard befolgt? Wenn Sie möchten, dass sie näher an einem bestimmten Code liegen, umgeben Sie diesen einfach mit {}, wenn Sie einen lokalen Bereich definieren möchten. user387184

Deine Antwort

4   die antwort
10

Im Idealfall deklarieren und definieren Sie jede Variable in der Nähe des Verwendungsorts. Eine Deklaration legt den Typ einer Variablen fest. Eine Definition weist der Variablen einen bestimmten Wert zu. In Sprachen wie C ++ und Java, die dies unterstützen, sollten Variablen deklariert und in der Nähe des Ortes definiert werden, an dem sie zum ersten Mal verwendet werden.

Er empfiehlt außerdem, die Variablen so kurz wie möglich am Leben zu halten und den Umfang zu minimieren.

Für mich ist es wichtig, die Namenskonventionen einzuhalten (die Java-Code-Konventionen von Sun sind weit verbreitet). Was den Ort betrifft, an dem sie zuerst deklariert wurden, würde ich die Deklaration aus Leistungsgründen so weit wie möglich verschieben (die Deklaration einer Variablen, die Sie möglicherweise nicht verwenden, ist eine Art Verschwendung). Wenn Sie nicht im Voraus wissen, dass es sicher verwendet wird, können Sie es in diesem Fall mit anderen Versionen gruppieren, um die Lesbarkeit zu verbessern. ich denke, das istwas JCC dazu sagt.

1

die Variable am Anfang eines Blocks zu deklarieren.
Wenn Sie den Code durchgehen, wissen Sie immer, wo Sie nach der Deklaration suchen müssen, anstatt zwischen den Codezeilen zu suchen. Wenn Sie sich eine Methode ansehen, ist es auch besser, zuerst die deklarierten Variablen und dann den Code zu sehen. Ich stelle es mir wie ein Rezept in einem Kochbuch vor, in dem Sie die benötigten Zutaten getrennt von der Rezeptanweisung auflisten.

Was die Leistung angeht, sehe ich keinen Unterschied. Wenn Sie zu spät deklarieren, wird möglicherweise Speicherplatz gespart, indem Sie die Variable nur dann erstellen, wenn sie am Ende eines Blocks benötigt wird. Sie werden jedoch dieselbe Menge an Speicher verwenden, die Sie hätten, wenn Sie am Anfang eines Blocks deklariert hätten.

Fehleranfällig würde ich sagen sind die gleichen gründe wie lesbarkeit.

Deklarieren Sie im kleinsten erforderlichen Bereich und am Anfang des Blocks.

1

dass die Lesbarkeit des Codes der einzige wichtige Punkt ist. Und Code ist definitiv besser lesbar, wenn Variablen näher an ihrem Verwendungsort deklariert werden.

Manchmal kann jedoch ein bestimmter Codierungsstil angewendet werden, um zu verhindern, dass "Fehler" für neue Programmierer auftreten, die zwischen Sprachen wechseln. Beispielsweise verfügt JavaScript über funktionales Scoping im Vergleich zu Java, das über Block-Scoping verfügt. Ein Java-Programmierer kann auf Probleme in JavaScript stoßen, wenn er sich des Funktionsumfangs von JavaScript nicht bewusst ist. Daher wird im Falle von JavaScript empfohlen, alles am Anfang einer Funktion / Methode zu deklarieren, um mögliche Fehler zu vermeiden.

Wie ich oben erwähnte, sollte Performace kein Problem sein. Wenn Sie sich jedoch dafür entscheiden, Variablen näher an ihrem Verwendungsort zu deklarieren, können die Deklarations- und Initialisierungskosten für Variablen gesenkt werden.

0

Code-Lesbarkeit:

Bewährte Methode zum Deklarieren von Variablen beim Starten einer Methode, da sie wartungsfreundlich und weniger verwirrend ist.

Performance:

Fall 1:

Wenn wir Variablen in Methodenanfang und Methoden mit Hunderten von Anweisungen deklarieren, benötigen wir mindestens 10 Variablen, bevor 50 Anweisungen unnötigerweise Speicher für diese Variablen belegen.

Benötigen wir 20 Variablen in der Methode und deklarieren wir am Anfang, wenn wir eine Ausnahme in der allerersten Anweisung bekommen, die unnötigerweise Speicher belegt.

Fall 2:

Wenn wir Variablen dort deklarieren, wo wir sie benötigen, erhalten Sie ein bisschen mehr Leistung.

Ich würde sagen, wenn Sie eine so große Anzahl von Variablen in einer Funktion benötigen, ist sie in beiden Fällen nicht leicht lesbar, unabhängig davon, wo sie deklariert sind. paulm

Verwandte Fragen