'var' significa essere chiari
Il dibattito principale sull'uso var
o meno della parola chiave riguarda la leggibilità del codice per te e gli altri sviluppatori.
Proprio come se stessi scrivendo una storia non esiste una risposta giusta definitiva. Ma diamo un'occhiata ad alcuni esempi di questo in un inglese semplice.
Jake salutò Bill. Non gli piaceva, quindi si voltò e andò dall'altra parte.
Chi è andato dall'altra parte? Jake o Bill? In questo caso usare i nomi "Jake" e "Bill" è come usare il nome del tipo. E "Lui" e "lui" è come usare la var
parola chiave. In questo caso potrebbe essere utile essere più specifici. Quanto segue ad esempio è molto più chiaro.
Jake salutò Bill. A Jake non piaceva Bill, quindi si girò e andò dall'altra parte.
In questo caso, essere più specifici ha reso la frase più chiara. Ma non sarà sempre così. In alcuni casi, essere specifici rende più difficile la lettura.
A Bill piacciono i libri, quindi Bill è andato in biblioteca e Bill ha tirato fuori un libro che a Bill è sempre piaciuto.
In questo caso sarebbe più semplice leggere la frase se usassimo "lui" e in alcuni casi tralasciassimo il suo nome, il che equivale a usare la var
parola chiave.
A Bill piacciono i libri, quindi è andato in biblioteca e ha tirato fuori un libro che gli è sempre piaciuto.
Questi esempi descrivono l'essenza, ma non raccontano l'intera storia. In quegli esempi c'era solo un modo per riferirsi alla persona. O usando il loro nome o usando un termine più generale come "lui" e "lui".
Nel caso del codice abbiamo 3 modi per aiutare ad aggiungere chiarezza. Il tipo, il nome della variabile e l'assegnazione. Prendi questa riga di codice per esempio:
Person p = GetPerson();
La domanda ora diventa: ci sono abbastanza informazioni in quella riga di codice per aiutarti a capire cosa sta succedendo?
E la seguente riga di codice? Sapresti ancora cosa p
significa in questo caso:
var p = GetPerson();
Che ne dici ora:
var p = Get();
O ora:
var person = Get();
O questo:
var t = GetPerson();
O questo:
var u = Person.Get();
Se la parola chiave var
funzioni in un determinato scenario dipende molto dal contesto del codice, ad esempio come vengono denominate le variabili, le classi e i metodi. Dipende anche dalla complessità del codice e dal resto del codice che lo circonda.
Personalmente mi piace usare la var
parola chiave per me è più completa per la maggior parte del tempo. Ma tendo anche a nominare le mie variabili in base al tipo, quindi non sto davvero perdendo alcuna informazione.
Detto questo a volte a seconda del contesto in cui faccio eccezioni, tale è la natura di qualcosa di complesso e il software non è nulla se non complesso.