Wpis z mikrobloga

Czy dla was stosowanie var zamiast np new Tuple, int, Dictionary> jest spoko?

przypuszczam, że tak, bo komu 'chce się' to pisać.

natomiast, co jeśli, mamy var numOfProducts = _ProductsList.Count()?
Dajecie var czy lepiej stosować int?

Mnie na przykład zraża JS, stosowanie var do każdego typu zmiennych jest chore. (chociaż w pewnym sensie pokazuje, jak "dobrze" jest napisany samo dokumentujący się kod)

#programowanie #csharp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

JS, stosowanie var do każdego typu zmiennych jest chore


@MroczekBall3D: ale wiesz, że var w JS i w C# oznacza coś zupełnie innego? Dla mnie chore jest deklarowanie typów zmiennych za każdym razem jak chcesz jej użyć. Wolę duck typing z pythona czy rubiego.
  • Odpowiedz
@MroczekBall3D: var powinno się dawać wtedy, kiedy poprawi to czytelność albo kiedy typ jest całkowicie oczywisty dla programisty. Np, zamiast:

Tuple tuple = new Tuple();
naturalnym jest użycie var, ponieważ ułatwia to czytanie kodu i generalnie skoro typ mamy już określony po prawej stronie, to nie ma co go powtarzać po lewej:

var tuple = new Tuple();
Natomiast w podsuniętym przez ciebie przykładzie IMO jest to obojętne - wywołanie metody
  • Odpowiedz
@m_bielawski: var tworzy zmiennę w js, a var w C# tak jakby skraca nazwę typu i zastepuję go. taak? :P

@Szab: a co z var numOfProducts = _ProductsList.Count()?
Bo tutaj mam dylemat. Wiadomo, że Count() (biorąc pod uwagę nazwę zmiennej, jest to lista) zwraca int. więc to var wypada dawać, czy jednak warto dać int?
  • Odpowiedz
var w C# tak jakby skraca nazwę typu i zastepuję go


@MroczekBall3D: var w C# pozwala kompilatorowi żeby sam domyślił się jaki ma być typ zmiennej na podstawie wartości po prawej stronie. I żeby nie było - w żaden sposób nie jest to typ dynamiczny. Wybór typu następuje na etapie kompilacji i taki już pozostaje.

A jeśli chodzi o przykład z Count() to tak jak dopisałem do wcześniejszego posta -
  • Odpowiedz