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

Что делать если не получается писать код имея нужные знания?

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

В этот раз я продержался дольше обычного, но проблемы примерно все те же.

Сейчас я учусь по списку базовых уроков по типу: переменные, операторы, функции и так далее. И большинство тем мне в принципе более чем понятны, как я считаю. Но очень часто, выполняя задания, я сталкиваюсь с тем, что я не понимаю как его делать, хотя там есть все то, что я уже проходил.

Но, если я вижу решение того или иного задания, то я сразу же понимаю почему те или иные действия выполнены при решение. Но сам в процессе решения, даже не догадывался что так можно или же забывал те или иные промежутки темы, которая нужная для решения, задачи.

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

Потому что как мне кажется, если ты знаешь все нужные темы для решения той или иной задачи на столь низком уровне, ты должен уметь ее решать.

Вот к примеру задание:
// Объяви экспортируемую функцию getAvailableItems,
// которая принимает в качестве первого аргумента объект пользователя,
// а в качестве второго аргумента - массив объектов предметов,
// каждый элемент которого представляет из себя объект следующего вида:
// {
//	name - строка (обозначает имя предмета)
//	cost - число (обозначает цену предмета)
// }

// Пользователь представляет из себя объект следующего вида:
// {
//	name - строка (обозначает имя пользователя)
//	balance - число (обозначает баланс пользователя)
// }

// Функция getAvailableItems должна вернуть объект следующего вида:
// {
//	availableItems - массив, каждый элемент которого представляет из себя объект предмета, описанный выше
//	totalCost - число
// }

// В свойство availableItems возвращаемого объекта должен быть записан массив,
// который хранит в себе ближайшие к началу массива предметов предметы которые пользователю по карману
// Примечание: Эти предметы все вместе должны быть по карману для пользователя, а не отдельно,
// т.е. если у пользователя на балансе 500 условных единиц, то в массиве свойства availableItems
// общая стоимость предметов не должна превышать эти 500 условных единиц

// В свойство totalCost возвращаемого объекта должна быть записана сумма цен предметов,
// который суммарно по карману для пользователя. То есть это должна быть сумма цен предметов,
// записанных в массиве availableItems

Тут я понимаю что используются массивы, объекты, вспомогательная переменная, цикл for...of, if, функция, это все я понимал еще до того как увидел решение задачи. Но при этом я сидел и не мог решить задачу час и в голову не приходило просто ничего, я сделал базовую запись, то есть создал объект который нужно создать по заданию, создал массив и на этом все. Зато когда я увидел решение, мне стало так стыдно что я не смог решить, потому что и ответ и самое задание мне показались до боли легкими и так всегда и со всем. Хотя все нужные знания для решения у меня были

Извините за столь длинный вопрос. Мне очень нужна помощь, я не хочу бросать программирование, но как разобраться со своей проблемой я не знаю.
  • Вопрос задан
  • 9746 просмотров
Подписаться 4 Простой 9 комментариев
Решение пользователя approximate solution К ответам на вопрос (6)
approximate_solution
@approximate_solution
JS Developer. Angular\React\Vue\Ember
я сталкиваюсь с тем, что я не понимаю как его делать, хотя там есть все то, что я уже проходил.

Это нормальная практика, называется она "не набита рука".

Но, если я вижу решение того или иного задания, то я сразу же понимаю почему те или иные действия выполнены при решение.

Всё правильно, так и пишут код и находят решения 80% программистов. Гуглят решения -> компонуют решения под свой проект -> делают рефакторинг кода(если требуется) -> получают деньги. PS: не все крутые дядьки сеньоры-помидоры отличаются от вас мозгами, просто они уже вложили от 2000 до 10 000 часов на изучения материала, на который вы потратили только 100-200 часов. В этом вся разница.

но как разобраться со своей проблемой я не знаю.

Очень просто. Решать типовые(и не типовые) задачи(от самых простых, до более сложных) по 5-8 часов в день, и каждый месяц делать breackpoint, анализируя пройденный путь. Если через полгода не будет результата - всё и правда плохо, и скорее всего вам нужно качать не только программирование, но и умение логически и критически мыслить, умение деструктурировать задачи на под задачи.
Ответ написан