„var” polega na jasności
Główna debata na temat tego, czy użyć var
słowa kluczowego, czy nie, dotyczy tego, jak czytelny jest kod dla ciebie i innych programistów.
Tak, jakbyś pisał historię, nie ma ostatecznej właściwej odpowiedzi. Ale spójrzmy na kilka przykładów tego w prostym języku angielskim.
Jake przywitał się z Billem. Nie lubił go, więc odwrócił się i poszedł w drugą stronę.
Kto poszedł w drugą stronę? Jake czy Bill? W tym przypadku użycie nazw „Jake” i „Bill” przypomina użycie nazwy typu. A „On” i „on” jest jak użycie var
słowa kluczowego. W takim przypadku może być bardziej szczegółowe. Poniższe na przykład jest znacznie jaśniejsze.
Jake przywitał się z Billem. Jake nie lubił Billa, więc odwrócił się i poszedł w drugą stronę.
W tym przypadku bardziej szczegółowe uściśliło zdanie. Ale nie zawsze tak będzie. W niektórych przypadkach dokładność utrudnia czytanie.
Bill lubi książki, więc Bill poszedł do biblioteki, a Bill wyjął książkę, którą Bill zawsze lubił.
W takim przypadku łatwiej byłoby odczytać zdanie, gdybyśmy użyli słowa „on”, a w niektórych przypadkach całkowicie pominęli jego imię, co jest równoważne użyciu var
słowa kluczowego.
Bill lubi książki, więc poszedł do biblioteki i wyjął książkę, którą zawsze lubił.
Te przykłady obejmują sedno, ale nie opowiadają całej historii. W tych przykładach był tylko jeden sposób na odniesienie się do osoby. Albo używając ich nazwy, albo używając bardziej ogólnego terminu, takiego jak „on” i „on”.
W przypadku kodu mamy 3 sposoby na zwiększenie przejrzystości. Typ, nazwa zmiennej i przypisanie. Weźmy na przykład następujący wiersz kodu:
Person p = GetPerson();
Teraz pojawia się pytanie, czy w tym wierszu kodu jest wystarczająco dużo informacji, aby pomóc ci zrozumieć, co się dzieje?
Co z następującym wierszem kodu? Czy nadal wiesz, co p
oznacza w tym przypadku:
var p = GetPerson();
A teraz:
var p = Get();
Lub teraz:
var person = Get();
Albo ten:
var t = GetPerson();
Albo to:
var u = Person.Get();
To, czy słowo kluczowe var
działa w danym scenariuszu, zależy w dużej mierze od kontekstu kodu, takiego jak nazwy zmiennych, klas i metod. Zależy to również od złożoności kodu i reszty otaczającego go kodu.
Osobiście lubię używać var
słowa kluczowego, które jest dla mnie bardziej wszechstronne . Ale mam też tendencję do nazywania moich zmiennych po typie, więc tak naprawdę nie tracę żadnych informacji.
To powiedziawszy czasami w zależności od kontekstu, z którego robię wyjątki, taka jest natura wszystkiego złożonego, a oprogramowanie jest niczym, jeśli nie złożone.