Witam, uczę się programowania i napisałem stronę i aplikację - listę pracowników, tak by było można zaznaczać, na którą zmianę przychodzą do pracy, możliwość ich dodawania i usuwania, jest to przerobienie to-do-list. Chciałbym wiedzieć co jeszcze warto bym się nauczył zanim zacznę szukać pracy czy może już mógłbym zacząć? Oto link do githuba: https://github.com/KrystianWojt?tab=repositories
Moim zdaniem to bardziej na stazyste, chociaż nie znam w pełni realiów polskiego rynku (tyle co wyczytam tutaj na forum). Wypadało by to bardziej rozbudować, no i może liznąć trochę jakiś framework, np. React albo Vue.
Taka apka na kilka linijek.
Bardziej martwi, że nie ogarniasz w pełni bootstrapa, który jest takim podstawowym układem budowania strony.
W drugim repo krystianwojt dodajesz kilka wersji jquery, robisz jeden container
w drugim, dodajesz kilka wersji fontawesome
dodajesz style bootstrapa min.css i potem to samo, jakieś puste .js trochę słabo to wygląda, jakbyś nie ogarniał co z czym i dlaczego.
Nie ma sensu brać się za js, jak nie ogarniasz podstaw css.
- Proponuję używać
const
albolet
zamiastvar
. Wvar
nie ma zabezpieczenia na to jak chcesz nazwać zmienną tak samo, jak już istniejąca, i ma zasięg na funkcję zamiast na blok, co potem powoduje problemy. Użycievar
dzisiaj w zdecydowanej większości use-case'ów można zastąpić spokojnielet
, a nawet wiele osób (w tym ja) preferuje używanieconst
, jeśli możesz.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
-
podobnie - strict mode byłby dobrym rozwiązaniem https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
-
no i warto poznać moduły CommonJS oraz moduły z ES6. Nie wiem, czy znasz, czy nie, ale nie stosujesz. Warto przy okazji się zainteresować takimi rzeczami jak Babel czy Webpack, które ci zrobią paczkę z takiego kodu w modułach
people.forEach(function(data) {
addNewPerson(data);
});
to można w tym przypadku zapisać w ten krótszy sposób*:
people.forEach(addNewPerson);
(ale warto, żebyś wiedział dlaczego, że podajesz po prostu funkcję jako parametr).
**w zasadzie ten kod nie do końca jest równoważny, bo pierwszy przypadek pożera wartość zwracaną przez funkcję, a drugi ją przekazuje dalej, ale mniejsza o to, i tak nie zwracasz żadnej wartości. Ale miałoby to znaczenie np. gdybyś używał metody .map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map *
-
arrow functions też warto poznać (chociaż nie ma obowiązku ich stosowania) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
-
wiele z twoich komentarzy jest bezsensownych i w stylu captain obvious
// Add person to DOM
listContainer.appendChild(personLi);
nie ma potrzeby tłumaczyć rzeczy oczywistych.
-
https://github.com/KrystianWojt/list-of-people/blob/1972d718447eb48a81a61b362ad862a29f94eabd/js/modules/new-person.js#L28
to lepiej byłoby zapisać za pomocą template strings https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals Poza tym widzę tutaj i w innych miejscach niechlujność z formatowaniem/wcięciami/spacjami itp. czyli rzeczami, które nie mają wpływu na działanie programu, ale utrudniają czytanie kodu
czy takie umiejętności wystarczą na juniora front-end?
Jak dla mnie jest tu jakiś potencjał, ale jednak twój kod jest w wielu miejscach przestarzały.
Chciałbym wiedzieć co jeszcze warto bym się nauczył
ES6 i dalej, bo ten kod jest pisany wg standardów sprzed iluś lat i może jeszcze 5 lat temu by przeszedł, ale dzisiaj trąci myszką.
zanim zacznę szukać pracy
Od strony szukania pracy to pewnie będą pytać, czy znasz/pracowałeś z jakimś frameworkiem do widoku typu React, Angular, Vue...
Chociaż ja tam uważam, że wszystko w swoim czasie i nie trzeba wchodzić na siłę od razu we frameworki. Pisanie tak jak piszesz, czyli używając przeglądarkowego JSa ma tę zaletę, że przynajmniej masz jakiś kontakt z prawdziwym DOM, więc możesz się pewnie więcej na tym etapie nauki nauczyć niż jakbyś miał się pakować w jakiegoś frameworka.
Co nie znaczy też, że należy unikać frameworków. Ale warto też wiedzieć "po co" (ludzie za wcześnie się pakują we frameworki, i nie mają pojęcia, jakie problemy rozwiązują i jak wygląda prawdziwe programowanie w DOM. Więc to, że nie używasz frameworka to może być zaleta, bo przynajmniej zaznasz trochę prawdziwego programowania pod przeglądarkę. A jednak frameworki działają trochę jak wirtualna maszyna. Ukrywają przed tobą to, co się dzieje w przeglądarce i tworzą dodatkową warstwę abstrakcji z wirtualnym DOM itp.).
Nie znam się bardzo na programowania JS, ale spytan się wprost, a gdzie jest kod Twojego programu ?
To tych kilka linii ?