'var' - це зрозуміти
Основна дискусія щодо того, використовувати var
ключове слово чи ні, полягає в тому, наскільки читабельний код вам та іншим розробникам.
Так само, як ніби ви писали історію, немає остаточної правильної відповіді. Але давайте розглянемо кілька прикладів цього простою англійською мовою.
Джейк привітався з Біллом. Він йому не сподобався, тому він повернувся і пішов іншим шляхом.
Хто пішов іншим шляхом? Джейк чи Білл? У цьому випадку використовувати імена "Джейк" і "Білл" - це як використовувати ім'я типу. І "Він" і "Він" - це як використання var
ключового слова. У цьому випадку це може допомогти бути більш конкретним. Далі, наприклад, набагато зрозуміліше.
Джейк привітався з Біллом. Джейку не сподобався Білл, тому він повернувся і пішов іншим шляхом.
У цьому випадку більш конкретніше зробило речення більш зрозумілим. Але це не завжди буде так. У деяких випадках конкретність ускладнює читання.
Біллу подобаються книги, тому Білл пішов до бібліотеки, а Білл вийняв книгу, яку Білл завжди любив.
У цьому випадку було б простіше прочитати речення, якби ми використовували "він", а в деяких випадках все своє ім'я випускали разом, що є еквівалентом використання var
ключового слова.
Біллу подобаються книги, тому він пішов до бібліотеки і дістав книгу, яка йому завжди подобалася.
Ці приклади висвітлюють суть, але вони не розповідають усієї історії. У тих прикладах був лише один спосіб посилатися на людину. Або за допомогою їх імені, або за допомогою більш загального терміна, як "він" і "він".
У випадку з кодом у нас є 3 способи, які допоможуть додати чіткість. Тип, назва змінної та призначення. Візьмемо, наприклад, цей рядок коду:
Person p = GetPerson();
Тепер стає питання, чи достатньо інформації в цьому рядку коду, щоб допомогти вам зрозуміти, що відбувається?
Що з наступного рядка коду? Ви все ще знаєте, що p
означає в даному випадку:
var p = GetPerson();
Як щодо тепер:
var p = Get();
Або зараз:
var person = Get();
Або цей:
var t = GetPerson();
Або це:
var u = Person.Get();
Від того, чи var
працює ключове слово у визначеному сценарії, багато в чому залежить від контексту коду, наприклад, як називаються змінні, класи та методи. Це також залежить від складності коду та решти коду, що його оточує.
Особисто мені подобається використовувати var
ключове слово, яке для мене більш вичерпне . Але я також схильний називати свої змінні за типом, щоб я не втрачав жодної інформації.
Інакше кажучи, залежно від контексту, в якому я роблю винятки, така природа будь-чого складного, а програмне забезпечення - це нічого, якщо не складне.