Я дивлюся на майбутню Visual Studio 2017 .
У розділі під назвою « Підвищена продуктивність» є зображення Visual Studio, що використовується для заміни всіх подій var на явний тип.
У коді, мабуть, є кілька проблем, які Visual Studio визначив як «потребує виправлення».
Я хотів ще раз перевірити своє розуміння використання var у C #, тому я прочитав статтю Еріка Ліпперта від 2011 року під назвою Використання та зловживання неявним набором тексту .
Ерік каже:
- Використовуйте var, коли потрібно; коли ви використовуєте анонімні типи.
- Використовуйте var, коли тип декларації очевидний від ініціалізатора, особливо якщо це створення об'єкта. Це виключає надмірність.
- Подумайте про використання var, якщо код підкреслює смислову "ділову мету" змінної та занижує "механічні" деталі її зберігання.
- Використовуйте явні типи, якщо це потрібно для правильного розуміння та підтримки коду.
- Використовуйте описові назви змінних незалежно від того, використовуєте ви "var". Імена змінних повинні представляти семантику змінної, а не деталі її зберігання; "DecimalRate" поганий; "Процентна ставка" - це добре.
Я думаю , що велика частина вару використання в коді, ймовірно , добре. Я думаю, було б нормально не використовувати var для біта, який читається ...
var tweetReady = workouts [ ... ]
... тому що, можливо, це не на 100% негайно, що це за тип, але навіть тоді я досить швидко знаю, що це boolean
.
Використання вар для цієї частини ...
var listOfTweets = new List<string>();
... мені виглядає точно як добре використання var, тому що я думаю, що зайве робити наступне:
List<string> listOfTweets = new List<string>();
Хоча виходячи з того, що Ерік каже, змінна, ймовірно, має твіти, а не listOfTweets .
Що було б причиною зміни всього var
використання тут? Чи щось не так з цим кодом, який я пропускаю?
var
тут все корисне. Ви можете, можливо, змінити його, але навіть тоді я думаю, що це насправді не потрібно. Навіщо змінювати їх на явний тип?
vars
вони були позначені однаково; з однаковим попереджувальним хрестиком біля них та червоним підкресленням. Імовірно, Visual Studio хоче їх виправити однаково. Якщо я не помиляюся.