ProHoster > блог > Навіны інтэрнэту > 8 памылак пачаткоўцаў JavaScript-распрацоўнікаў, якія замінаюць стаць прафесіяналам
8 памылак пачаткоўцаў JavaScript-распрацоўнікаў, якія замінаюць стаць прафесіяналам
Быць JavaScript-распрацоўшчыкам крута, паколькі на рынку працы стала расце галеча ў добрых JS-праграмістах. У наш час вельмі шмат фрэймворкаў, бібліятэк і іншага, што можна выкарыстоўваць у працы, - і ў значнай ступені мы павінны быць удзячныя за гэта opensource-крыніцам. Але ў нейкі момант распрацоўшчык пачынае марнаваць на JS-праекты занадта шмат часу ў параўнанні са ўсімі астатнімі задачамі.
Вельмі верагодна, што ў будучыні гэта прывядзе да катастрафічных наступстваў для вашай кар'еры, але пакуль вы гэтага не ўсведамляеце. Я сам у мінулым дапусціў некаторыя памылкі, апісаныя ніжэй, і зараз хачу зберагчы ад іх вас. Вось восем памылак JS-распрацоўшчыкаў, якія могуць зрабіць вашу будучыню не занадта вясёлкавым.
Нагадваем:для ўсіх чытачоў "Хабра" - зніжка 10 000 рублёў пры запісе на любы курс Skillbox па промакодзе "Хабр". Skillbox рэкамендуе: Адукацыйны анлайн-курс «Java-распрацоўшчык».
Выкарыстанне jQuery
jQuery адыграў вялікую ролю ў развіцці ўсёй экасістэмы JavaScript. Першапачаткова JS выкарыстоўваўся для стварэння слайд-шоў і рознага кшталту віджэтаў, галерэй малюнкаў для сайтаў. jQuery дазволіў забыцца аб праблемах з сумяшчальнасцю кода для розных браўзэраў, стандартызаваўшы выкарыстанне ўзроўняў абстракцыі і працу з DOM. У сваю чаргу, гэта дапамагло спрасціць AJAX і праблемы з крос-браўзэрнымі адрозненнямі.
Аднак сёння гэтыя праблемы не такія актуальныя, як раней. Вялікая іх частка была вырашана шляхам стандартызацыі напрыклад, гэта дакранаецца fetch і селектараў API.
Астатнія праблемы вырашаюцца іншымі бібліятэкамі, такімі як React. Бібліятэкі даюць і шмат іншых магчымасцяў, недаступных для jQuery.
Працуючы з jQuery, у нейкі момант вы пачынаеце рабіць дзіўныя рэчы: напрыклад, выкарыстоўваць элементы DOM у якасці бягучых станаў або дадзеных, а таксама пісаць жудасна складаны код толькі для таго, каб высветліць, што тамака з папярэднім, бягучым і будучым станам DOM , у дадатак да забеспячэння належнага пераходу да маючых адбыцца станам.
Ніхто не забараняе выкарыстоўваць jQuery, але надасце час, каб больш даведацца пра больш сучасныя альтэрнатывы — React, Vue і Angular — і іх перавагі.
Адмова ад unit-тэставанні
Я часта бачу, як людзі ігнаруюць юніт-тэсты для сваіх вэб-прыкладанняў. Усё ідзе выдатна - да таго моманту, пакуль прыкладанне не падае з "unexpected error". І ў гэты момант мы атрымліваем вялікую праблему, паколькі губляем час і грошы.
Так, калі прыкладанне нармальна кампілюецца, не выдаючы памылак, а будучы скампіляваным, працуе, - гэта не азначае, што яно гатова да выкарыстання.
Адсутнасць тэсціравання яшчэ больш-менш прымальна для невялікіх прыкладанняў. Але калі праграмы вялікія і складаныя, іх цяжка абслугоўваць. Таму выпрабаванні становяцца надзвычай важным элементам распрацоўкі. У гэтым выпадку змена аднаго кампанента прыкладання не прывядзе да пашкоджання іншага.
Я выдатна разумею тых, хто, прыступаючы да распрацоўкі вэб-прыкладанні, адразу ж пачынае выкарыстоўваць папулярныя бібліятэкі і фрэймворкі накшталт React, Vue або Angular.
Раней я казаў, што спачатку трэба вывучыць JavaScript, а потым фрэймворкі, але зараз я перакананы, што ўсё гэта трэба выконваць адначасова. JS змяняецца вельмі хутка, так што нейкі досвед выкарыстання React, Vue або Angular трэба атрымаць адначасова з вывучэннем JavaScript.
Гэта пачынае адбівацца і на патрабаваннях, якія вылучаюцца да кандыдатаў на пасаду распрацоўшчыка. Вось, напрыклад, што я знайшоў, пашукаўшы ў Indeed па ключы "JavaScript".
У апісанні да вакансіі гаворыцца, што ім трэба веданне jQuery і JavaScript. Г.зн. для гэтай кампаніі абодва кампаненты аднолькава важныя.
Вось іншае апісанне, у якім указаны толькі "базавыя" патрабаванні:
І гэтак прыкладна ў палове вакансій, якія я праглядзеў. Тым не менш я лічу, што правільныя суадносіны часу на вывучэнне JS і фрэймворкаў - прыкладна 65% да 35%, а не 50 на 50.
Нежаданне знаёміцца з канцэпцыяй "чыстага кода"
Ствараць чысты код павінен вучыцца кожны пачынаючы распрацоўшчык, калі ён жадае стаць прафесіяналам. З канцэпцыяй "чыстага кода" варта азнаёміцца яшчэ на старце кар'еры. Чым раней вы пачнеце прытрымлівацца палажэнняў гэтай канцэпцыі, тым раней вы абвыкнеце адразу пісаць чысты код, які лёгка абслугоўваць пасля.
Дарэчы, каб зразумець перавагі добрага і чыстага кода, вам не трэба самім спрабаваць пісаць дрэнны код. Вашы навыкі спатрэбяцца пазней, падчас працы, калі вы жахнецеся на чужы дрэнны код.
Занадта ранні пачатак працы над вялікімі праектамі
У пачатку сваёй кар'еры я здзейсніў вялікую памылку: паспрабаваў узяцца за буйны праект, калі яшчэ не быў да гэтага готаў.
Вы можаце спытаць, што тут не так. Адказ ёсць. Справа ў тым, што калі вы не миддл і не сеніёр, тыя вы, хутчэй за ўсё, не зможаце скончыць ваш вялікі праект. У ім будзе зашмат элементаў і рэчаў, якія трэба ўлічыць. І вы не справіцеся, калі яшчэ ў самым пачатку сваёй кар'еры не выпрацавалі звычку пісаць «чысты код», выкарыстоўваць тэсты, якая маштабуецца архітэктуру і да т.п.
Дапушчальны, вы ўсёткі выдаткавалі кучу часу на гэты праект, не завяршылі яго, а зараз спрабуеце перайсці на ўзровень миддла. І тут раптам разумееце, што не можаце паказаць камусьці гэты код, таму што ён не вельмі добры і патрэбен рэфактарынг. Аднак на гэты "праект стагоддзя" вы патрацілі кучу часу, і зараз у вас няма прыкладаў добрай працы, якія можна дадаць у партфоліё. І вы саступаеце адну гутарку за іншым іншым тым кандыдатам, якія могуць паказаць свае працы, хай і не вельмі буйныя, у партфоліё.
У любым выпадку, у будучыні вам давядзецца правесці рэфакторынг, паколькі і код не занадта добры, і тэхналогіі вы выкарыстоўвалі не зусім тыя, што трэба. У выніку вы разумееце, што прасцей усё перапісаць з нуля, чым спрабаваць выправіць.
Вядома, усё гэта можна дадаць у партфоліё, але патэнцыйны працадаўца ўбачыць там масу недахопаў і прыйдзе да несуцяшальных для вас высноў.
Нежаданне вывучаць структуры дадзеных і алгарытмаў
Можна доўга спрачацца аб тым, калі трэба пачынаць вывучаць структуру даных і алгарытмы. Хтосьці прапануе рабіць гэта яшчэ да засваення JavaScript, хтосьці - пасля.
Я лічу, што на старце вучыць гэта дэталёва неабавязкова, але разбірацца ў алгарытмах варта, паколькі гэта дасць базавую разуменне працы кампутарных праграм і разлікаў.
Алгарытмы - неад'емная частка любых разлікаў і праграм. Уласна, самі кампутарныя праграмы – гэта спалучэнне набору алгарытмаў і дадзеных, структураваных вызначанай выявай, вось і ўсё.
Адмова ад фізічнай актыўнасці
Для распрацоўніка вельмі важна займацца спортам. Я не трэнер, але назіраў, як змяняецца маё цела - год за годам. Таму магу расказаць, да чаго прыводзіць адсутнасць фізічных практыкаванняў.
Мая першая праца была даволі праблемнай па цэлым шэрагу прычын, і адна з праблем была якраз у тым, што ўсяго за год я набраў амаль два дзясяткі кілаграмаў. Тады я актыўна вывучаў JavaScript.
Калі вы не будзеце займацца спортам, то рызыкуеце набраць вагу, і негатыўных наступстваў у гэтага будзе шмат: атлусценне, мігрэні (уключаючы хранічныя), падвышаны артэрыяльны ціск і да т.п. Спіс праблем сапраўды бясконцы.
Сацыяльная самаізаляцыя
Сям'я і блізкія - гэта важна. З галавой пагрузіўшыся ў вывучэнне JavaScript і недаацэньваючы важнасць свайго псіхічнага і эмацыйнага жыцця, вы рызыкуеце пагрузіцца ў дэпрэсію, стаць раздражняльным, перастаць нармальна спаць і шмат чаго яшчэ.
Высновы
Спадзяюся, што-небудзь з гэтага вам спатрэбіцца. Калі вы паклапоціцеся пра сябе сёння, то вам не давядзецца выпраўляць памылкі пазней.