Привет! В предыдущей статье "Научись учиться правильно" я посоветовал, читая книги по программированию, тренироваться писать код. В этой статье я бы хотел обсудить и назвать некоторые способы практиковаться, которыми пользуюсь я.
Налейте себе чаю, а также не забудьте подписаться на канал и поставить лайк!
Приятного чаепития :)
Codewars
И начать я бы хотел именно с этого замечательного сервиса. Весь "геймплей" Codewars заключается в том, что он даёт вам определённые задачи с различными уровнями сложности, решая которые, вы поднимаете свой "Kyu". После решения каждой задачи ваш код сохраняется в профиле и вы всегда можете его посмотреть и переписать, в случае, если нашли более лучшее решение.
Codewars удобен тем, что не требует много времени. Но, при этом, он может очень хорошо прокачать ваше знание языка и базовых алгоритмов. Если вы только начали осваивать программирование - Codewars отлично вам подойдёт. Главное - помните, что вначале у вас могут возникнуть определённые трудности с решением задач, даже низкого уровня. Со временем вы привыкните и решать подобные задачи вам не составит труда.
Собственные проекты
Несомненно, создание собственных проектов может отлично повысить ваши навыки. Однако, многие новички совершают ошибку - они слишком переоценивают свои навыки и в результате не могут закончить проект. А из-за этого, между прочим, легко подумать, что ты ничего не умеешь и в результате потерять мотивацию!
Хорошим вариантом будет придумать один не сложный проект, который вы точно сможете выполнить. И, после выполнения, постоянно реализовывать всё более сложные функции, тем самым постоянно практикуя свои навыки.
В данный момент я пользуюсь именно этим способом.
Я поставил себе цель - создать примитивное TODO приложение для Android, которое будет иметь возможность добавлять задачи.
Создал для него небольшой простенький дизайн с парой всплывающих окон, некоторым количеством кнопок и прочих элементов. Такое приложение я смог реализовать за два дня. Далее - начал ставить себе цели расширить это приложение: добавить возможность удалять каждую из задач по-отдельности. Сделать так, чтобы задачи сохранялись при закрытии приложения, далее - переписать это приложение на архитектуру MVVM с использованием JavaRX.
Я только начал заниматься этим проектом, и на данный момент он вылядит как-то так :
На данный момент этот проект состоит из 100+ строк макаронного кода и 100+ строк XML. Однако, я понимаю, что я только начинаю обучаться разработке под мобильные устройства, и в дальнейшем я многократно улучшу этот проект и сделаю всё, как положено.
В дальнейшем я мог бы рассказывать вам о моих успехах с этим приложением и мобильной разработкой в целом. Можно было бы попробовать делать разбор кода. Дайте мне знать, если вам это будет интересно.
Участие в open-source проектах на GitHub
Данный способ также является хорошим путём набраться опыта и прокачать свой GitHub профиль, а также завести новых друзей. Однако, если вы ещё новичек в программировании и не изучили самых основ, этот способ лучше отложить на недалёкое будущее, так как у вас могут возникнуть определённые сложности с чтением чужого кода и внесением в него каких-либо изменений.
Заключение
На этом я бы хотел закончить статью. Надеюсь, вы извлекли из неё что-то новое и полезное для себя. Ставьте лайки, подписывайтесь на канал, пишите комментарии, это очень поможет развитию канала!