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

JS - ocena biblioteki do updatowania DOM

Object Storage Arubacloud
0 głosów
195 wizyt
pytanie zadane 31 lipca 2018 w JavaScript przez Gambr Dyskutant (7,530 p.)
edycja 17 sierpnia 2018 przez Gambr

Cześć, na początku czerwca prosiłem o ocenę, jednak od tego czasu sporo rzeczy poprawiłem i wykrystalizował mi się bardziej spójny i sensowny obraz tego mini projektu oraz stworzyłem przykład prezentujący możliwości libki, stąd prośba o ponowną ocenę.

Cel biblioteki to ułatwienie updatowania elementów DOM, na podstawie wcześniej ustalonych danych i logiki.

Przykładowy problem to implementacja slajdera z dwiema kategoriami tematycznymi: aktorzy i filozofowie, po 5 zdjęć na kategorię,
oraz umożliwienie użytkownikowi interakcji z nim i odpowiednie reagowanie DOM na jego poczynania.

Chcemy:

  • co 5 sekund losować slajdy unikając powtarzalności do 3 elementów w tył
  • podczas zmieniania slajdu uzyskać efekt fadeIn
  • umożliwić zatrzymanie slidera po kliknięciu na odpowiedni paragraf oraz restart po drugim kliknięciu
  • utworzyć powiązanie między kategorią tematyczną slajdera a napisem na przycisku do zmiany tematu slajdów 
  • utworzyć powiązanie między tym czy slajder działa czy jest zatrzymany a napisem pod slajderem
  • W przypadku paragrafu i buttona do zmiany tematu chcemy tylko doklejać dane do ich HTML a nie całkowicie go zmieniać

Github z kodem i linkiem do przykładu

Co sądzicie o kodzie źródłowym oraz o samej bibliotece?

Dzięki za odpowiedzi

1 odpowiedź

+2 głosów
odpowiedź 31 lipca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 31 lipca 2018 przez Gambr
 
Najlepsza

Parę  uwag na szybko, bo nie mam zbytnio czasu na dokładne analizowanie kodu:

  1. zbyt duży plik, podziel to na mniejsze pliki i przemyśl jakąś ich sensowną strukturę.
  2. zbyt mocno łaczysz html z js... JS powinien interesować się tym co mają robić dane elementy, a nie tym jakie to są znaczniki i jak wyglądają. Nawet jeśli całość miałaby być generowana w JS to wg mnie powinno to być rozdzielone na elementy odpowiedzialne za stworzenie struktury, ostylowanie i trzeci element odpowiedzialny za interakcję.
  3. dlaczego raz stosujesz template strings a raz przeciążanie operatora "+"?
  4. metody h1, h2... robią praktycznie to samo - po co tyle klas? Tutaj (pomijają w ogóle zasadność tych klas) powinna być jedna metoda tworząca odpowiedni element
  5. Skoro używasz składni ES6 to zapis : { cls: cls, content: content } możesz w tym wypadku uprościć do { cls,  content }
  6. Unikaj tworzenia metod o nazwach get() i set()... w peirwszej chwili sugerowało mi to,że stosujesz gettery i settery co okazało się nie prawdą :) ale odruchowo tego właśnie się spodziewam widząc get/set
  7. Generalnie zbyt dużo tych metod i tego wszystkiego... nie zapanowałbyś nad takim kodem produkcyjnym... postaraj się zrefaktoryzować ten kod, unikaj zbyt mocnego łączenia html, js, css, niech np. klasa odpowiedzialna za obsługę guziczków next i prev (czyli ogólnie interakcję slidera) nie wie jakie znaczniki przedstawuiaja te elementy w html i jak wyglądają.. ma ona tylko odpowiednio obsłużyć kliknięcie w next, bez względu czy będzie to button, div itp.

Popracuj nad czytelnością, modularnością i dobrymi praktykami pisania kodu i daj wersję poprawioną to będziemy szlifować dalej :)

Powodzenia!

komentarz 31 lipca 2018 przez Gambr Dyskutant (7,530 p.)
edycja 2 sierpnia 2018 przez Gambr

Dziękuję za wskazówki smiley

Podobne pytania

0 głosów
1 odpowiedź 912 wizyt
0 głosów
2 odpowiedzi 424 wizyt
pytanie zadane 27 sierpnia 2018 w JavaScript przez bulit000 Początkujący (460 p.)
0 głosów
2 odpowiedzi 181 wizyt
pytanie zadane 26 stycznia 2018 w JavaScript przez shy_fox Gaduła (4,320 p.)

92,556 zapytań

141,404 odpowiedzi

319,562 komentarzy

61,942 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!

...