Aktywne Wpisy
ogolnie to zabawna historia, z ktorej mozna sporo wyciagnac, stwierdzilem, ze skoro wszystko stracilem, pewnie nie wroce do starych zajec tak szybko, wiec zdecydowalem ze napisze o tym ksiazke o gang stalkingu, bedzie duzo o klamstwie, metodach manipulacji, epidmii narcyzmu, naiwnosci, moralnosci, roli religii, o grach("ze powoduja agresje?" yy nie, o pozytywnym wplywie gier mmorpg na mezczyzn zmagajacych sie z depresja), i wiele innych moze cos wrzuce tu jak zdaze.
niektore motywy
niektore motywy
![varsaviak](https://wykop.pl/cdn/c3397992/varsaviak_eRQCKfZVet,q60.jpg)
varsaviak +136
zdarzyło się gdzieś po drodze, że mieszkałem w #australia no i tam jest taka skała - Uluru. całkiem znana, w każdym razie ja znam od podstawówki. ale do rzeczy - pojechaliśmy sobie na kilkudniowego tripa w szeroko pojęte 'okolice' (szeroko na kilkaset kilometrów). w wigilię zajeżdżamy na miejsce. Uluru cacy, słoneczko, w grudniu nie padało od 50 lat, tak ze 35 na plusie, skwarno że hej.
no i obok jest druga skała,
no i obok jest druga skała,
![varsaviak - zdarzyło się gdzieś po drodze, że mieszkałem w #australia no i tam jest t...](https://wykop.pl/cdn/c3201142/c84069a2ea4f754f8f94c3d265697e7a06d764a65a826205823b8a7e78698ab6,w150.jpg)
źródło: G0133395
Pobierz
Jaka jest Wasza opinia na temat var w javie? W pracy nie widzę, żeby ktoś tego używał i próbuję sobie featury z kolejnych wersji języka i ciężko mi znaleźć jakiś sensowny powód używania tego. Co więcej, mam wrażenie, że przez używanie varów więcej czasu poświęcam na analizę nowego kodu bo muszę się zastanawiać co jakim jest typem.
Rekrutuję się teraz do firmy, gdzie jest sporo pasjonatów i pewnie mnie o to zapytają na rozmowie, więc chce mieć sensowną odpowiedź na pytanie kiedy bym użył, czy to jest jakiś game changer itd xD
Znalazłem taki przykład:
zamiast: Record4<Integer, String, LocalDate, Long> s1 = select(A, B, C, D).from(T);
to: var s1 = select(A, B, C, D).from(T);
No ok, tutaj nie musimy pisać pierdyliarda typów, o których nie musimy wiedzieć.
Ale np. taki przykład do mnie nie przemawia:
var emails = this.emailService.fetchEmailsForUser(user);
Nie raz musiałbym kliknąć w implementacje metody żeby sprawdzić co zwraca.
Takie coś ujdzie, ale nie wiem czy nie wolałbym mieć widzieć typ, może przyzwyczajenie? xD
for (var entry : someMap.entrySet()) {
Customer c = entry.getKey();
List<Address> addresses = entry.getValue();
…
}
Szkoda, że to nie jest dynamiczne typowanie i dalej nie możemy zrobić:
var zmienna = "janek";
zmienna = 3; //error
#java #naukaprogramowania #programowanie
@mirek_dev: całe szczęście ze nie jest
Jeżeli widać po nazwie/kontekście co metoda zwróci, to można imo dać vara, w innych przypadkach mysle ze lepiej deklarować typ
źródło: Image 12-08-2023 at 13.58
Pobierz@mirek_dev: przypisywanie wielu różnych zmiennych do tej samej nazwy utrudnia analizę kodu, bo ta sama nazwa zmienia swój kontekst w zależności od tego w której linijce jesteśmy. Do tego dynamiczne typowanie mało tu zmienia: można spokojnie zrobić język, gdzie kompilator ukryje starą zmienną i wprowadzi nową tak, że mamy zachowane statyczne typownie. Po prostu nikt tego nie robi, bo
@Saly: var emails = this.emailService.fetchEmailsForUser(user);
Skąd mam wiedzieć czy to jest set czy lista czy może ktoś nieudolnie władował jakąś inną strukturę, a ja muszę te emaile teraz wyfiltrować, jeśli mam List<String> emails = ...to od razu wiem co robić, przy varze muszę wejść w implementację metody (no albo
var l = List.of(1, 2, 3)
ale w pozostałym wolę widzieć typ, np.
var x = myObject.foo();
SomeResult x2 = myObject.foo(); // lepsze