• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co mogę poprawić? JS OOP

Object Storage Arubacloud
0 głosów
417 wizyt
pytanie zadane 30 grudnia 2018 w JavaScript przez BlaBlaCar Początkujący (440 p.)
Uczę się programowania obiektowego w JS.

Stworzyłem projekt: To do list

Chciałbym się dowiedzieć co mógłbym tam poprawić?

https://github.com/Hentuloo/ToDoList.git
1
komentarz 30 grudnia 2018 przez HaKIM Szeryf (87,590 p.)
edycja 30 grudnia 2018 przez HaKIM

a tak serio to powiem Ci, że czasem w sumie warto nawet sobie migrować trochę... ja myślalem, że generalnie czuję się dobrze tylko we froncie.. głównie angular. Ale ostatnio zacząlem się przekonywać do Javy i back-endu z mikroserwisami... a jak doloży się reactive style Springa i frontendowe SSE/WebSocket, rxjs itp. to robi się ciekawie :)

Chciałem! Uwierz, że chciałem.

Java + Spring - zbyt skostniałe to to + class-based programming jest moim zdaniem ułomnym podejściem.

JS OOP - to jakiś żart.

Python - własnoręcznie kiedyś wręcze anty-nobla gościowi co skontruował składnię tego języka.

Po tym komentarzu rok 2019 spędzę w bunkrze. :D

 

komentarz 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)

 i back-endu z mikroserwisami..

@Tomek Sochacki mikroserwisami czy mikrousługami? devil 

komentarz 30 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
czesto pojęcia te są stosowane zamiennie.
komentarz 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)

Zamiennie, błędnie winkpytam z ciekawości bo mocno interesuje mnie ten temat.

1
komentarz 30 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
napisalem na priv bo również zaczynam w to wchodzic coraz mocniej a nie chce tu robić offtopica.

2 odpowiedzi

+1 głos
odpowiedź 30 grudnia 2018 przez rot18ru Bywalec (2,100 p.)
Do Listy przekazujesz tablice przycisków i elementów i miałoby to sens gdyby Lista nie wiedziała o strukturze DOM, ale w klasie używasz querySelectorAll, więc klasa zna strukturę. Przy tak prostym projekcie nie ma sensu niczego ukrywać, więc do konstruktora List przekazywałbym po prostu element korzeń i nic więcej.
0 głosów
odpowiedź 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)
  1. Masz jedną klasę w stylu GodObject.
  2. Fajnie że es6 ale przydałby się Babel.
  3. Osobiście poszedłbym w stronę Vue. 

Myślę że kanał na YT hello roman mocno ukierunkuje Cię na dobry dev. Polecam. 

komentarz 30 grudnia 2018 przez adrian17 Ekspert (344,860 p.)

Masz jedną klasę w stylu GodObject.

Ma jedną klasę... ale przy tak prostej aplikacji, może po prostu nie potrzeba więcej? Może ewentualnie osobna klasa na Task. W każdym razie nie mówię że to idealna klasa, ale God Object bym to nie nazwał.

Fajnie że es6 ale przydałby się Babel.

Opinia. Mnie/autora może nie interesować transpilowanie.

Osobiście poszedłbym w stronę Vue. 

...poważnie?

komentarz 30 grudnia 2018 przez Milesq Nałogowiec (32,020 p.)
Ale przy transpilowaniu nie chodzi o to czy to cię interesuje tylko o to żeby kod działał poprawnie na starszych przeglądarkach
1
komentarz 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)

Osobiście kiedy robisz projekt to z góry zakładam że sama definicja słowa wyklucza jednocześnie rozwiązanie sprawy jedną klasą i dobry kod. Kiedy piszesz liba to co innego. Jest mnóstwo libów z jedną klasą. W tym przypadku jest to kod proceduralny przeniesiony do metod. 

Babela wskazałem, gdyż nie widziałem nigdy żeby ktoś szalał z es6 w przeglądarce kiedy nie ma jeszcze pełnego wsparcia.

Co do Vue. Tak, poważnie. Masz jakieś obiekcje? 

komentarz 30 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
a tak z ciekawości dlaczego Vue?

Pytam, ponieważ szczerze to nie pracowalem jeszcze z żadną dużą apką w Vue, i raczej spotykam tu częściej Angular lub React... często też wiele osób uważa Vue za taki framework nowy, dla jakiś mikro aplikacji, ale jak już wchodzi wiele tysięcy userów to raczej wszyscy idą (z mojego środowiska) w stronę Angular (ewentualnie React).
komentarz 30 grudnia 2018 przez adrian17 Ekspert (344,860 p.)

tylko o to żeby kod działał poprawnie na starszych przeglądarkach

...co może potencjalnie nie interesować, jeśli celem jest po prostu aplikacja todo na klasach.

Osobiście kiedy robisz projekt to z góry zakładam że sama definicja słowa wyklucza jednocześnie rozwiązanie sprawy jedną klasą i dobry kod.

Przede wszystkim czepiłem się God Object niż jednej klasy... ale wciąż nie rozumiem, dlaczego wykluczasz możliwość, że logika aplikacji może zawrzeć się w jednej klasie niezależnie od jakości kodu.

Co do Vue. Tak, poważnie. Masz jakieś obiekcje? 

Do samego Vue, nie. Do wejścia na pytanie osoby uczącej się JSa i rzucenia jej frameworka frontendowego bez dobrego powodu, tak. Nie chodzę po pytaniach osób uczących się C++a i nie reklamuję im Boosta czy inną bibliotekę, bo akurat zadali pytanie o klasy.

EDIT:

gdyż nie widziałem nigdy żeby ktoś szalał z es6 w przeglądarce kiedy nie ma jeszcze pełnego wsparcia.

Ja szaleję. W domu i w pracy. :)

komentarz 30 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)

Babela wskazałem, gdyż nie widziałem nigdy żeby ktoś szalał z es6 w przeglądarce kiedy nie ma jeszcze pełnego wsparcia.

a normalnych apkach owszem, ale zawsze możesz machać apkę na Electronie, gdzie masz z góry znaną wersję Chromium i możesz zastanowić się nad użyciem ES6+ :)

komentarz 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)

Nie chodzę po pytaniach osób uczących się C++a i nie reklamuję im Boosta czy inną bibliotekę, bo akurat zadali pytanie o klasy.

 Bo to zupełnie inna bajka. W C++ próg wejścia w frameworki jest o wiele wyższy niż w webdevie. Nie jest to reguła ale korzystanie z frameworka czesto uczy dobrych praktyk i oducza babranie się z innerHTML. Oczywiście frameworki mają też wady.

Przede wszystkim czepiłem się God Object niż jednej klasy...

Dobra może z GodObject to przesada. Moim zdaniem jest to kod proceduralny przeniesiony do metod jednej klasy. Big ball of mud brzmi lepiej.

a tak z ciekawości dlaczego Vue?

  1.  Niski próg wejścia
  2. O wiele łatwiej ułożyć sobie kod. 
  3. Łatwiejsza komunikacja między komponentami dla początkujących bez konieczności korzystania z vuexa i innych reduxopodobnych rzeczy. 
  4. Przy początkach o wiele mniej odpowiedzialności ciąży na programiści przydzielając funkcje dla komponentów. 
komentarz 30 grudnia 2018 przez Ehlert Ekspert (212,670 p.)

Ja szaleję. W domu i w pracy. :)

Skoro ie jest out of target.wink

Podobne pytania

0 głosów
1 odpowiedź 137 wizyt
pytanie zadane 23 kwietnia 2017 w JavaScript przez hoktaur Pasjonat (22,250 p.)
0 głosów
3 odpowiedzi 315 wizyt
pytanie zadane 18 listopada 2020 w Nasze projekty przez K4P3K Początkujący (360 p.)
0 głosów
0 odpowiedzi 86 wizyt
pytanie zadane 18 marca 2020 w JavaScript przez niezalogowany

92,567 zapytań

141,420 odpowiedzi

319,615 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...