Попробуйте проверить свои навыки программирования на Swift с помощью этих задач по кодированию на Swift. Они не только увлекательны и интересны, но и придадут вам уверенности в своих силах
Когда Apple анонсировала Swift в 2014 году, люди были справедливо скептичны. Никто не знал, приживется ли он, и многие сомневались в необходимости изучения еще одного языка программирования
Но в 2015 году Swift стал открытым исходным кодом, и хотя он не взорвался в одночасье, язык неуклонно развивается. Лучшего времени для изучения еще не было! Мы рассмотрели онлайн-уроки по Swift, а также мобильные учебники по Swift, но куда идти после того, как вы освоите основы?
Как только вы освоите язык, попробуйте проверить свои навыки с помощью этих задач по кодированию на Swift. Они не только веселые и стимулирующие, но и придадут вам уверенности в своих силах
1.Codewars
Codewars – это лучшее место для тренировки в решении задач по кодированию любого типа, включая Swift. Вся система геймифицирована, то есть вы получаете опыт и повышаете уровень с каждым успешным испытанием. В игре используется такая же система ранжирования, как и в го: вы начинаете с 8 кю и продвигаетесь до 1 кю
Задания (называемые ‘ката’) делятся по степени сложности. К счастью, доступны тысячи задач, так что даже если вы слишком быстро повысите уровень, вы всегда сможете вернуться и поработать над более легкими. Типы задач включают алгоритмы, типы данных, работу со строками и числами, поток управления, головоломки, логику и многое другое
Мне нравится в Codewars две вещи: во-первых, закончив решение ката, вы можете увидеть решения, представленные другими пользователями, а во-вторых, пользователи могут создавать свои собственные ката, так что коллекция задач пополняется с каждым днем. Это действительно одна из лучших игр по кодингу для оттачивания навыков
2.CodinGame
Задачи по кодированию Swift на CodinGame более сложные, чем на Codewars, и это потому, что задачи на CodinGame созданы как игры. Например, в задаче ‘Сила Тора’ вам нужно переместить положение Тора так, чтобы он мог достичь Света Силы за как можно меньшее количество шагов
Задачи делятся на категории по сложности: от легкой, средней, трудной и очень трудной. Есть также головоломки, созданные сообществом, которые можно попробовать, когда закончатся официальные. Имейте в виду, что задачи CodinGame довольно трудные, но в процессе борьбы вы многому научитесь
Помимо одиночных заданий, CodinGame также предлагает пятиминутные многопользовательские битвы кодеров (где вы пытаетесь пройти как можно больше заданий) и большие конкурсы для всего сообщества (которые проводятся раз в месяц или два)
3.CodeChef
CodeChef предлагает задачи, которые похожи на домашние задания по кодингу. Они разделены на категории Beginner, Easy, Medium, Hard и Challenge (плюс дополнительная категория Peer для пользовательских задач)
Доступны сотни задач, и они могут быть довольно сложными. Для сравнения, большинство заданий для новичков имеют более 1 000 успешных отправок, средние – в среднем сотни, а задания категории Challenge редко превышают 100 успешных отправок. Это хорошая практика как для новичков, так и для ветеранов
CodeChef также проводит конкурсы. Не все из них предлагают призы, но в официальных конкурсах CodeChef призовой фонд может достигать 700 долларов
4./r/DailyProgrammer
DailyProgrammer – это сообщество на Reddit для программистов, которые хотят проверить свои силы в решении самых сложных головоломок по кодингу, которые можно найти в сети. Раньше это было ежедневное мероприятие, но в последнее время оно проводится раз в 2-3 дня или около того
Что приятно, так это то, что задачи обозначены как легкие, средние или трудные. Плохая новость заключается в том, что даже легкие задачи, особенно последние, могут быть довольно сложными для начинающих кодеров. Однако вы всегда можете заглянуть в архивы и пересмотреть старые задачи, если захотите
5. Проект ‘Эйлер’
Project Euler – это почти как самостоятельный набор задач по кодированию на Swift. В архиве содержится 600 задач (называемых ‘Problems’), но они не сопровождаются ответами, решениями или обсуждениями. Обычно легко понять, когда вы решили задачу, но иногда это не так – и это может расстраивать
Кроме того, задачи проекта ‘Эйлер’ в основном математические и логические по своей природе. Вы можете решить все из них без необходимости программирования. Однако, как способ тренировки мозга, они просто фантастические. А поскольку программирование – это решение реальных проблем с помощью кода, то это, по сути, одно и то же
6.TopCoder
Задачи TopCoder немного отличаются от остальных в этой статье, просто потому, что это многопользовательские конкурсы, а не одиночные головоломки. Вы должны зарегистрироваться в них заранее, а затем завершить их до истечения времени
Разница в том, что конкурсы TopCoder сопровождаются крупными призовыми выплатами. На скриншоте выше видно, что на момент написания статьи в процессе выполнения находятся четыре задания, на кону которых стоят тысячи долларов. Неплохо, если вы отточите свои навыки. Это хороший способ проверить свою готовность к работе в мире в качестве программиста на Swift
Единственным недостатком является то, что каждый вызов поддерживает только определенный язык или группу языков. Хотя задачи по кодированию на Swift существуют, они могут проводиться только раз в месяц или около того
7.Coderbyte
Coderbyte , возможно, не такой исчерпывающий, как некоторые другие сайты с задачами, но все же это отличный способ попрактиковаться в Swift. Задачи (разделенные на легкие, средние и трудные) сопровождаются официальными и представленными пользователями пошаговыми решениями, а также зоной обсуждения для вопросов
Уникальность Coderbyte заключается в разделе ‘Алгоритмы’, где вы можете изучить все виды алгоритмов: обход деревьев, перекрытие диапазонов, максимизация цены акций, суммирование массивов, реализация сортировки и многое другое. Идеально подходит для новичков
К сожалению, бесплатные пользователи получают доступ только к 10 задачам и решениям. Премиум-аккаунт стоит $29/мес (или гораздо более разумные $150/год). Стоит ли оно того? Ну, используйте свои 10 бесплатных задач и убедитесь сами!
Еще несколько способов попрактиковаться в Swift
Если Swift – ваш первый язык программирования, помните о наших советах, как научиться программировать без стресса, и о наших советах по освоению нового языка программирования. Поначалу может быть трудно, но держитесь!
Как только вы освоите Swift, вы сможете перейти к этим идеям проектов приложений для iOS и этим общим идеям проектов по программированию. Ничто так не укрепляет уверенность в программировании, как работа над реальным проектом и успех в нем
Как вам нравится Swift как язык? Какой ваш любимый способ изучения и практики программирования? Поделитесь с нами в комментариях!
Комментировать