Что такое var на простом английском
Я собираюсь показать вам, что использование AND без использования var означает четкое общение.
Я собираюсь показать примеры случаев, когда использование var упрощает чтение кода, а другие примеры использования var усложняют понимание.
Более того, вы увидите, насколько ясна 'var', во многом зависит от того, как вы называете все остальное в своем коде.
Возьмем этот пример:
Джейк поздоровался с Биллом. Он ему не понравился, поэтому он повернулся и пошел другой дорогой.
Кто пошел другой дорогой? Джейк или Билл? В этом случае «Джейк» и «Билл» похожи на название типа. А «Он» и «его» похожи на ключевое слово var. В этом случае было бы полезно уточнить детали. Следующий пример намного яснее.
Джейк поздоровался с Биллом. Джейку не понравился Билл, поэтому он повернулся и пошел другой дорогой.
В данном случае конкретизация сделала предложение более ясным. Но так будет не всегда. В некоторых случаях конкретность затрудняет чтение.
Билл любит книги, поэтому Билл пошел в библиотеку, и Билл достал книгу, которая ему всегда нравилась.
В этом случае было бы легче прочитать предложение, если бы мы использовали «он», а в некоторых случаях полностью опускали его имя, это эквивалент использования ключевого слова var
.
Биллу нравятся книги, поэтому он пошел в библиотеку и достал книгу, которая ему всегда нравилась.
Эти аналогии охватывают суть, но не раскрывают всей истории. Видите ли, в этих примерах был только один способ обозначить человека. Либо своим именем, например Билл, либо более общим образом, например, «он» и «он». Но мы работаем только с одним словом.
В случае с кодом у вас есть два «слова»: тип и имя переменной.
Person p = GetPerson();
Теперь возникает вопрос: достаточно ли информации, чтобы вы могли легко определить, что такое p
? Вы все еще знаете, какие люди в этом сценарии:
var p = GetPerson();
Как насчет этого:
var p = Get();
Как насчет этого:
var person = Get();
Или вот этот:
var t = GetPerson();
Или вот этот:
var u = Person.Get();
Будет ли ключевое слово var
работать в данном сценарии, во многом зависит от контекста кода, например от имен переменных, классов и методов, а также от сложности кода.
Лично мне нравится использовать ключевое слово var
, которое более полно для меня. Но я также склонен называть свои переменные по типу, чтобы не терять никакой информации.
Тем не менее, иногда я делаю исключения, такова природа чего-либо сложного, а программное обеспечение - ничто иное, как сложное.
person
Luis Perez
schedule
17.06.2016
var
здесь не зря. И совершенно очевидно, что это за шрифт, даже не наводя на него курсор.var x = new Customer();
Это объект "Клиент". Простой :) - person ManoDestra   schedule 02.08.2016var foo = bar.Coords;
? Что такоеCoords
? Массив поплавков? Интс? Совершенно другой объект? Если вам приходится полагаться на свою IDE для обеспечения такой ясности, значит, что-то серьезно не так с вашими стандартами кодирования. И, Боже, помоги любым новым программистам, которых ты найдешь. - person b1nary.atr0phy   schedule 08.08.2016