'var' se trata de ser claro
El debate principal acerca de si usar la var
palabra clave o no es sobre qué tan legible es el código para usted y otros desarrolladores.
Al igual que si estuviera escribiendo una historia, no hay una respuesta correcta definitiva. Pero veamos algunos ejemplos de esto en inglés simple.
Jake saludó a Bill. No le gustaba, así que se volvió y se fue para otro lado.
¿Quién fue por el otro lado? Jake o Bill? En este caso, usar los nombres "Jake" y "Bill" es como usar el nombre del tipo. Y "Él" y "él" es como usar la var
palabra clave. En este caso, podría ser más específico. Lo siguiente, por ejemplo, es mucho más claro.
Jake saludó a Bill. A Jake no le gustaba Bill, así que se volvió y se fue para otro lado.
En este caso, al ser más específico, la oración fue más clara. Pero ese no siempre será el caso. En algunos casos, ser específico hace que sea más difícil de leer.
A Bill le gustan los libros, así que Bill fue a la biblioteca y sacó un libro que siempre le ha gustado.
En este caso, sería más fácil leer la oración si usáramos "él" y, en algunos casos, omitiéramos su nombre, lo que equivale a usar la var
palabra clave.
A Bill le gustan los libros, así que fue a la biblioteca y sacó un libro que siempre le ha gustado.
Esos ejemplos cubren la esencia, pero no cuentan toda la historia. En esos ejemplos solo había una forma de referirse a la persona. Ya sea usando su nombre o usando un término más general como "él" y "él".
En el caso del código, tenemos 3 formas de ayudar a agregar claridad. El tipo, el nombre de la variable y la asignación. Tome esta línea de código, por ejemplo:
Person p = GetPerson();
La pregunta ahora es si hay suficiente información en esa línea de código para ayudarlo a descubrir qué está pasando.
¿Qué pasa con la siguiente línea de código? ¿Sabrías lo que p
significa en este caso?
var p = GetPerson();
Que tal ahora:
var p = Get();
O ahora:
var person = Get();
O este:
var t = GetPerson();
O esto:
var u = Person.Get();
Si la palabra clave var
funciona en un escenario determinado depende mucho del contexto del código, como cómo se nombran las variables, las clases y los métodos. También depende de la complejidad del código y del resto del código que lo rodea.
Personalmente, me gusta usar la var
palabra clave, es más completa para mí la mayor parte del tiempo. Pero también tiendo a nombrar mis variables después del tipo, así que realmente no estoy perdiendo ninguna información.
Dicho esto, a veces, dependiendo del contexto, hago excepciones, tal es la naturaleza de cualquier cosa compleja, y el software no es más que complejo.