Bei 'var' geht es darum, klar zu sein
Die Hauptdebatte darüber, ob das var
Schlüsselwort verwendet werden soll oder nicht, besteht darin, wie lesbar der Code für Sie und andere Entwickler ist.
Als ob Sie eine Geschichte schreiben würden, gibt es keine endgültige richtige Antwort. Aber schauen wir uns einige Beispiele dafür im Klartext an.
Jake sagte Hallo zu Bill. Er mochte ihn nicht, also drehte er sich um und ging in die andere Richtung.
Wer ist den anderen Weg gegangen? Jake oder Bill? In diesem Fall entspricht die Verwendung der Namen "Jake" und "Bill" der Verwendung des Typnamens. Und "Er" und "Ihn" ist wie das Verwenden des var
Schlüsselworts. In diesem Fall kann es hilfreich sein, genauer zu sein. Das Folgende ist zum Beispiel viel klarer.
Jake sagte Hallo zu Bill. Jake mochte Bill nicht, also drehte er sich um und ging in die andere Richtung.
In diesem Fall machte eine genauere Darstellung den Satz klarer. Aber das wird nicht immer der Fall sein. In einigen Fällen ist es schwieriger zu lesen, wenn man spezifisch ist.
Bill mag Bücher, also ging Bill in die Bibliothek und Bill holte ein Buch heraus, das Bill immer gefallen hat.
In diesem Fall wäre es einfacher, den Satz zu lesen, wenn wir "er" verwenden und in einigen Fällen seinen Namen alle zusammen weglassen würden, was der Verwendung des var
Schlüsselworts entspricht.
Bill mag Bücher, also ging er in die Bibliothek und holte ein Buch heraus, das er immer gemocht hat.
Diese Beispiele decken den Kern ab, aber sie erzählen nicht die ganze Geschichte. In diesen Beispielen gab es nur einen Weg, sich auf die Person zu beziehen. Entweder durch Verwendung ihres Namens oder durch Verwendung eines allgemeineren Begriffs wie "er" und "ihn".
Im Fall von Code haben wir drei Möglichkeiten, um Klarheit zu schaffen. Der Typ, der Variablenname und die Zuordnung. Nehmen Sie zum Beispiel diese Codezeile:
Person p = GetPerson();
Es stellt sich nun die Frage, ob in dieser Codezeile genügend Informationen enthalten sind, um herauszufinden, was los ist.
Was ist mit der folgenden Codezeile? Würdest du noch wissen, was p
in diesem Fall bedeutet:
var p = GetPerson();
Wie wäre es jetzt:
var p = Get();
Oder jetzt:
var person = Get();
Oder dieses:
var t = GetPerson();
Oder dieses:
var u = Person.Get();
Ob das Schlüsselwort var
in einem bestimmten Szenario funktioniert, hängt stark vom Kontext des Codes ab, z. B. davon, wie die Variablen, Klassen und Methoden benannt werden. Dies hängt auch von der Komplexität des Codes und dem Rest des ihn umgebenden Codes ab.
Persönlich verwende ich gerne das var
Schlüsselwort, das für mich die meiste Zeit umfassender ist. Aber ich neige auch dazu, meine Variablen nach dem Typ zu benennen, damit ich nicht wirklich Informationen verliere.
Das heißt, manchmal, abhängig vom Kontext, in dem ich Ausnahmen mache, ist dies die Natur von allem Komplexen, und Software ist nichts, wenn nicht komplex.