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

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

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

Согласно статье Википедии о ката, ката код — это упражнение в программировании, которое помогает программисту оттачивать свои навыки посредством практики и повторения. Обычно это означает, что перед вами стоит проблема, которую необходимо решить определенным образом (желательно, с тестами для проверки вашего прогресса).

Думайте о ката коде как об упражнениях в конце главы учебника. Возможно, вы откладывали их выполнение и сейчас самое время вернуться. Как и в главах учебника, эти задачи могут варьироваться от начинающих до продвинутых (например, «Создать объект, который возвращает сумму всех чисел в массиве» или «Создать объект, который может принимать один параметр или хэш параметров»). В любом случае, при поиске ката ваша задача должна заключаться в том, чтобы найти ката, которая соответствует вашему уровню мастерства или находится всего на один шаг выше него.

Существует множество ресурсов, предоставляющих ката коды. Codewars — мой фаворит. У них есть обширная база данных ката, созданная пользователями. Многие из этих ката доступны на разных языках, поэтому вы можете решить их на JavaScript после решения на Ruby. Кроме того, после решения ката вы можете сравнить свое решение с решениями других, а также оценить и прокомментировать их. Есть много других сайтов, известных своими ката кодами. Exercism.io — еще один фаворит фанатов. Также есть Проект Эйлера для тех, кто ищет математические задачи.

Основная цель кодового ката — доказать свои навыки. Это повысит вашу уверенность и позволит вам узнать больше. Поскольку ката — это весело, они могут вызывать привыкание, что делает решение проблем зависимым. Это, вероятно, то, кем вы хотите быть, если вы все равно занимаетесь разработкой программного обеспечения. Это именно тот человек, которого компаниям нужны для разработки программного обеспечения. Удачного кодирования!