Estoy viendo el próximo Visual Studio 2017 .
En la sección titulada Boosted Productivity hay una imagen de Visual Studio que se usa para reemplazar todas las apariciones de var con el tipo explícito.
Aparentemente, el código tiene varios problemas que Visual Studio ha identificado como "necesidades de reparación".
Quería verificar mi comprensión del uso de var en C #, así que leí un artículo de 2011 de Eric Lippert llamado Usos y usos incorrectos de la escritura implícita .
Eric dice:
- Use var cuando sea necesario; cuando usa tipos anónimos.
- Utilice var cuando el tipo de declaración sea obvio desde el inicializador, especialmente si se trata de una creación de objeto. Esto elimina la redundancia.
- Considere usar var si el código enfatiza el "propósito comercial" semántico de la variable y minimiza los detalles "mecánicos" de su almacenamiento.
- Utilice tipos explícitos si es necesario hacerlo para que el código se entienda y mantenga correctamente.
- Utilice nombres de variables descriptivas independientemente de si utiliza "var". Los nombres de las variables deben representar la semántica de la variable, no los detalles de su almacenamiento; "DecimalRate" es malo; "Tasa de interés" es bueno.
Creo que la mayoría del uso de var en el código probablemente sea correcto. Creo que estaría bien no usar var para el bit que lee ...
var tweetReady = workouts [ ... ]
... porque tal vez no es 100% inmediato de qué tipo es, pero incluso entonces sé con bastante rapidez que es un boolean
.
El uso de var para esta parte ...
var listOfTweets = new List<string>();
... me parece exactamente un buen uso de var porque creo que es redundante hacer lo siguiente:
List<string> listOfTweets = new List<string>();
Aunque basado en lo que Eric dice, la variable probablemente debería ser tweets en lugar de listOfTweets .
¿Cuál sería la razón para cambiar todo el var
uso aquí? ¿Hay algo mal con este código que me falta?
var
aquí están bien. Posiblemente podría cambiar uno, pero incluso entonces creo que no es realmente necesario. ¿Por qué cambiarlos todos a tipo explícito?
vars
han sido marcados de la misma manera; con la misma cruz de advertencia junto a ellos y un subrayado rojo. Presumiblemente, Visual Studio quiere corregirlos a todos de la misma manera. A menos que me equivoque.