Cześć,
Od kilku miesięcy uczę się w kierunku web developmentu (front end). Obecnie skupiam się na javascripcie - niedawno przerobiłem swoją pierwszą książkę ("Headfirst javascript programming") i zabrałem się za pisanie pierwszej nieco większej aplikacji samodzielnie (gra w snake'a).
kod -https://github.com/Vjii/snake
live - https://vjii.github.io/snake/
Wczoraj ją skończyłem ale zabrało mi to naprawdę mnóstwo czasu - i w wielu przypadkach myślę, że niepotrzebnie. Na przykład wczoraj spędziłem ok ~4 godziny na korekte jednego naprawdę wydaje mi się prostego buga (wciśnięcie entera miało służyć tylko do startu gry a powodowało również restart gry ponieważ miałem dwa warunki w instrukcji warunkowej, która wykrywała entera - przez co event.preventDefault() na klawisz enter w moim event listenerze nie działało). Starałem się testować każdy element zaraz po napisaniu go ale jak miałem już dużo kodu to zacząłem się z tym gubić. W tym przypadku, musiałem spędzić trzy godziny na poceniu się, skanowaniu kodu, googlowaniu i dalszemu poceniu się żeby w końcu zauważyć prostą przyczynę problemu - i to tylko jeden przykład, było więcej podobnych sytuacji. Co jest ok - lubię rozwiązywać problemy - ale chce pisać kod sprawnie i efektywnie.
Stąd pierwsze pytanie, co mogę zrobić żeby zminimalizować ilość tego typu sytuacji w przyszłości?
Drugie pytanie - co muszę zrozumieć/zrobić żeby usprawnić proces pisania aplikacji, zminimalizować wszelkie straty czasu, błędy w organizacji, planowaniu itd.? Jakie są wasze sposoby na to?
Ostatecznie, byłbym wdzięczny za ocenę/krytykę kodu. W najbliższym okresie zamierzam ćwiczyć pisząc szereg prostszych aplikacji (karuzela, to-do listy itd.), potem przejść do poważniejszych rzeczy i wykorzystywać na pisanych stronach. Biorąc pod uwagę mój obecny kod, na czym powinienem się skupić?
Z góry serdeczne dzięki za wszelkie wskazówk/rady/komentarze :) !