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

Ocena portfolio

Object Storage Arubacloud
+3 głosów
517 wizyt
pytanie zadane 28 marca 2018 w Nasze projekty przez Adrian1999 Nałogowiec (34,570 p.)
Witam wszystkich serdecznie, znalazłem się tutaj z prośbą o obiektywną ocenę mojego portfolio. Pod względem kodu jak i wizualnego, byłbym wdzięczny za wszelką krytykę, i obiektywną opinię. Link do portfolio http://bielec-adrian.pl/Portfolio Strona jest aktualnie jeszcze w "robocie", orginalne zdjęcia będą dostarczone w momencie gdy zza okien wyjdzie słońce oraz stopnieje śnieg, więc aktualne są w celach humorystycznych.
komentarz 28 marca 2018 przez imklau Nałogowiec (42,090 p.)

jest jakieś menu na mobile czy to atrapa? :D bo se klikam i nie mogę otworzyć laugh

komentarz 28 marca 2018 przez Adrian1999 Nałogowiec (34,570 p.)
No właśnie nad mobilnym zaczynam pracę, bo to już  w sumie jest takie dopięcie guzika. I chciałem na spokojnie się nim zająć, a w międzyczasie uzyskać informacje czy są może jakieś rzeczy do poprawki. By po skończeniu menu, od razu zabrać się do poprawiania błędów. Takie tam rozłożenie czasu pracy. Edit, mimo że wiem że to jest kilka minut pracy. Lecz łączenie szkoły do 18, oraz tworzenie projektu nie jest takie łatwe ;/ I po prostu mój mózg nie pracuje np teraz, by to skończyć.
komentarz 29 marca 2018 przez marcin99b Szeryf (82,180 p.)
w tekstach masz literówki
np "daję mi to większą satysfakcję."
albo brak spacji po kropkach, czasami podwójne spacje
komentarz 29 marca 2018 przez Adrian1999 Nałogowiec (34,570 p.)
edycja 29 marca 2018 przez Adrian1999
To nie są podwójne spacje, tylko justowany tekst. Edit. A co do literówek, przeaanalizuje tekst powoli i go poprawię :D To projekt wstępny

5 odpowiedzi

+2 głosów
odpowiedź 29 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)

Analizowałem właśnie moją odpowiedź do Twojego wcześniejszego posta i widzę, że jak proponowałem pozbyłeś się jQuery na rzecz vanillaJS :) Duży plusik za to, jak pisałem wtedy, wg mnie pokazujesz w ten sposób, że znasz JS, a jeśli tak to jQuery wiem, że nawet jeśli nie znasz to szybko się nauczysz, bo wiesz co i jak.

Mogę dać ewentualnie jeszcze parę drobiazgów do JS:

  1. nie musisz robić tego window.onload, daj po prostu kod JS przed zamknięciem body albo z atrybutem defer.
  2. Kod:
    function AddModalClass(Text)
    {
     let AddClass = Text.replace("<img ",'<img class="ModalImg" ')
     return AddClass;
    }
    Dwie kwestie. Uważaj z metodą String.prototype.replace stosując ją z ciągiem tekstowym jako elementem szukanym, ponieważ analizuje ona tylko pierwsze wystąpienie tego elementu w całym ciągu. Tutaj jest oki, ale tak na przyszłość, jeśli chciałbyś wyszukać kilka elementów i je pozamieniać to zainteresuj się wyrażeniami regularnymi.
    o taka uwaga poboczna, a główna to dlaczego nie classList.add wywołana na elemencie img (odpowiednio pobranej referencji do niego)?
  3. Kod:
    function AddModals()
    {
        let ModalLenght = document.getElementsByClassName("Modal").length;
        for(let i=0;i<ModalLenght;i++)
        {
            document.getElementsByClassName("Modal")[i].addEventListener("click",function(){
                document.getElementById("Modal").innerHTML = '<div id="ModalBG" onclick="AddActive();"></div>'+AddModalClass(document.getElementsByClassName("Modal")[i].innerHTML);
                document.getElementById("Modal").classList.add("active");
            });
        }
    }

    Zwróć uwagę, że kilka razy pobierasz od nowa referencję do obiektu o klasie "Modal". To zła praktyka. Pobierz ją raz i zapamiętaj np. w zmiennej 
     

    const modal = document.querySelectorAll('.modal')

    i teraz używaj tej zmiennej, np. "modal.length", "modal[i]" itp. Ma to też po za wydajnością drugi plus - jeśli z jakiś powodów zmienisz klasę elementu to zmieniasz tylko w jednym miejscu, a tak w ogóle to można by zrobić funkcję bardziej uniwersalną i klasę ".modal" przekazywać jako argument funkcji :)

  4. [i].addEventListener("click",function(){
                document.getElementById("Modal").innerHTML = '<div id="ModalBG" onclick="AddActive();">

    dlaczego mieszasz addEventListener z onclick i do tego? Dodatkowo jeśli tworzysz kilka elementów DOM na raz to poczytaj o createDocumentFragment i po prostu dodaj potem w odpowiednim elemencie ten nowo stworzony. Bardzo ostrożnie używaj innerHTML, a najlepiej w ogóle tego nie używaj. Jeśli chcesz zmienić tylko "tekst" to użyj textContent, a jeśli coś więcej to polecam odpowiednie metody do tego np. metody classList.xxx czy createElement itp.

  5. Tak na koniec jeszcze mała sugestia, aby nie wywoływać funkcji, których wcześniej nie zadeklarowałeś. Jeśli używasz deklaracji w formie:
     

    function fn() {}

    to będzie to działać, ponieważ zajdzie tu hoisting funkcji, ale jeśli dałbyś:
     

    const fn = function () {};
    //albo:
    const fn = () => {};

    to będzie błąd, ponieważ const nie podlega takiemu samemu zjawiskowi hositingu. Twój kod działa, ale to taka sugestia, ja osobiście stosuję się do zasady, że każda funkcja i zmienna jakiej używam musi być wcześniej zadeklarowana/zaimportowana itp. To znacznie ułatwia potem czytanie i analizę kodu, bo nie musisz skakać po całym kodzie.

To tak na szynko w przerwie kawowej :) Generalnie spoko, na prawdę plusik za przejście na czysty JS - sam widzisz, że wcale kod nie jest jakoś strasznie dłuższy i pewnie wielu ciekawych rzeczy się mogłeś nauczyć :)

jQuery nie jest złe, co więcej jest używane w wielu cms i istniejących stronkach także będąc w webie na pewno jeszcze nie raz się spotkasz z tą biblioteką, ale warto znać dobrze czysty JS, żeby zawsze móc samemu zrobić coś, czego jQuery może nie mieć :)

Pozdrawiam i życzę powodzenia w rozwoju!

1
komentarz 29 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
i poczytaj też o metodach document.querySelector / querySelectorAll vs getElement... ale to tak na marginesie, jako lektura dodatkowa :)
komentarz 29 marca 2018 przez ShiroUmizake Nałogowiec (46,300 p.)

Dodam tutaj swoją drobną uwagę:

zasady, że każda funkcja i zmienna jakiej używam musi być wcześniej zadeklarowana/zaimportowana itp.

Jeżeli to ma być tylko sztuka dla sztuki, to nie ma to sensu (zakładając, że programujemy "świadomie" na prototypach/obiektach. Jeżeli używamy tylko 1 w jednym miejscu nie ma co pakować do konsturktora/pola , a właściwie lepiej przekazać wynik. Trochę ramu zaoszczędzonego. Co przy powiedzmy 40 komponentach daje już sporo. 

 

+1 głos
odpowiedź 29 marca 2018 przez Beginer Pasjonat (22,110 p.)
Adrian, niedawno byłeś u nas z oceną strony. Jeśli dobrze pamiętam, było wtedy parę drobnych uwag - których teraz już nie ma. Bo wszystko działa i wygląda prawidłowo - to znaczy ładnie, nie ma się do czego przyczepić. Zdjęcie i animacja super! Oglądałem zarówno na tablecie, jak i komputerze. (Na mobilce nie działa tylko menu, o czym wiesz). Jest parę drobnych literówek w tekście, które łatwo poprawić. Unikaj pisania całego tekstu dużymi literami, to nie jest dobry pomysł, nie ma żadnego uzasadnienia.

P.S. Masz tendencję do nadużywania słowa "aktualnie", w poście też występuje dwa razy. W tych konkretnych sytuacjach powinno się używać słowa "obecnie".
+1 głos
odpowiedź 29 marca 2018 przez niezalogowany
Witaj, fajne animacje, ale kolorystyka i układ do mnie nie przemawia.
0 głosów
odpowiedź 29 marca 2018 przez pietia213 Dyskutant (8,110 p.)

Cześć widzę, że tam na dole masz certyfikaty, aby uzyskać jeden z wielu ale za darmo polecam: https://learndigital.withgoogle.com/internetowerewolucje/
Powodzenia w zdobywaniu ich więcej.

0 głosów
odpowiedź 29 marca 2018 przez Mariusz08 Maniak (62,300 p.)
$(this).toggleClass("on");

Nie do końca pozbyłeś się jQuery.

<div id="ModalBG" onclick="AddActive();" ></div>

Zamiast onClick stosujemy addEventListener

komentarz 29 marca 2018 przez Adrian1999 Nałogowiec (34,570 p.)
Napisałem że menu jest nie skonczone.

Podobne pytania

0 głosów
2 odpowiedzi 452 wizyt
pytanie zadane 22 marca 2019 w Nasze projekty przez Dawid_Predecki Obywatel (1,610 p.)
0 głosów
5 odpowiedzi 600 wizyt
pytanie zadane 14 marca 2019 w Nasze projekty przez MasterOf Nowicjusz (200 p.)
0 głosów
5 odpowiedzi 572 wizyt
pytanie zadane 6 grudnia 2017 w Nasze projekty przez Bakr Mądrala (6,850 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

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

...