Задать вопрос

Как научиться писать самостоятельно код?

Примерно год обучаюсь языку JS, прочитал достаточно материала, ознакомлен неплохо с ооп, понимаю замыкания, также освоил DOM , в общем практически весь нативный js. Но когда дело доходит до практики, я начинаю спотыкаться, средние задачи и даже простые задачи к примеру на codewars бывает проблематично решить, вроде бы к примеру знаю как работает методы reduce, map и т.д. И в итоге сообразительность использования всего этого просто остутствует.Может все дело в тонкостях самого языка? Что посоветуете? Продолжать осваивать учебники(Фленаган,Крокфорд, learn.javascript, и тд)? Как вы набивали опыт?
  • Вопрос задан
  • 7120 просмотров
Подписаться 22 Оценить Комментировать
Ответ пользователя Андрей К ответам на вопрос (9)
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Когда я только начинал учиться программированию, то для меня даже документация казалась темным лесом, потому что ну почитал я что делает команда, а зачем она это делает - не понятно...

Язык программирования - это инструмент, сродни молотку или топору, только посложнее и нематериальный. Тем не менее, задача всегда стоит при помощи того или иного инструмента, чаще целого набора оных, построить нечто полезное людям, например стул.

Поэтому я бы советовал изучать код более продвинутых товарищей, на предмет сопоставления что делает код и как, и лучшие примеры брать на заметку, воспроизводить. Тут важна наглядность, т.е. чтобы можно было код менять и видеть как меняется результат его действия.

Так же очень полезный навык - декомпозиция. Слона или кита нужно есть частями. Другими словами большую задачу дробим на логически обособленные части, сами части дробим еще, до тех пор, пока каждую маленькую часть не сможем решить кодом размером в 1-2 экрана. Тщательно тестируем на всякие редкие и крайние ситуации. Оформляем этот код в виде модулей, далее собираем как из кубиков "Лего" нужный результат. Тестируем связки компонент, на моем опыте примерно половина времени уходит на продумывание и гугление, от оставшегося времени 90% уходит на дебаггинг и тестирование, и только примерно 5% совокупного времени реально идет на собственно кодинг.
Ответ написан
Комментировать