Normalerweise behalten Entwickler die Standardeinstellungen bei und fügen nur bei Bedarf Code hinzu. d.h. was immer der kürzeste zu schreibende Code ist, ist einfacher. Denken Sie an ein Hörsaal und sie bitten Sie, Ihre Hände zu heben, wenn Sie etwas tun, und dann bitten Sie Sie, Ihre Hände zu heben, wenn Sie nicht tun, ungefähr die Hälfte des Raumes wird überhaupt nicht abstimmen.
IMHO Der Standard sollte endgültig sein und Sie hätten ein Schlüsselwort var
für Werte, die sich ändern können. Auf diese Weise wären viel mehr Felder endgültig.
In diesem speziellen Fall mache ich lokale Variablen nicht endgültig mit der Begründung, dass die Methoden kurz genug sein sollten, um zu entscheiden, ob die Variable geändert wird oder nicht. Wenn Sie das nicht einfach lösen können, ist Ihre Schleife/Methode zu kompliziert.
Für Felder jedoch empfehle ich, diese Endgültigen zu machen, wann immer möglich, besonders wenn sie nicht privat sind, weil es nicht so einfach ist, den ganzen Code zu lesen, wo es benutzt werden könnte.
Ich benutze es die ganze Zeit. Andere benutzen es nicht, weil sie sagen, dass es den Code überladen würde. Diese Art von Schleife wird als "Enhanced for-Schleife" bezeichnet. – Obicere
Ich benutze es auch die ganze Zeit. Aber ich stimme den beiden Lagern zu. Wenn Sie wirklich nicht möchten, dass eine Referenz neu zugewiesen wird, verwenden Sie 'final', Punkt. Aber es * verwirrte * den Code sehr. Ich habe große Teile des Codes gesehen, die auf eine * gute * Weise geschrieben wurden, aber leider übermäßig ausschweifend aussieht. Leider gibt es kein einfaches, was beide Camps zufriedenstellen kann, außer natürlich, dass Sie bereit sind, nach Scala zu ziehen ...;) –