Aktywne Wpisy
Szaupau +78
Kurcze, jestem naprawdę podekscytowany. W końcu, po wielu latach udało mi się w końcu osobiście trafić na Janusza OLX'a :)
#olx #januszebiznesu
#olx #januszebiznesu
cirilla1989 +152
Dzisiaj stuknelo mi 9 lat na wykopie. Jedno mogę stwierdzić z pewnościa, po tak długim stażu tutaj - z roku na rok to miejsce jest coraz większym #!$%@?. Portal szowinistow i zarazem płaczkow którym baba nie chce dać p***y, szczujnia prowadzona przez różne służby do siania propagandy i możnaby wymieniać do usranej smierci a szkoda mi nerwow. Amen
#gownowpis #takaprawda #wykop
#gownowpis #takaprawda #wykop
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
@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