练习技能的7种Swift编码挑战

当苹果公司在2014年宣布Swift时,人们理所当然地持怀疑态度。没人知道它是否会流行,许多人质疑还需要另一种编程语言来学习。

但是,Swift在2015年成为开源软件,尽管它没有一夜之间爆炸,语言稳步增长。从来没有一个更好的学习时间!我们已经介绍了在线Swift教程和移动Swift教程,但是一旦您掌握了基础知识,您将去哪里?

一旦您熟悉了该语言,就可以考虑通过以下方法测试您的技能:这些Swift编码挑战。它们不仅使人感到有趣和刺激,而且还使您对自己的能力有信心。

1。 Codewars

Codewars 是练习任何类型的编码挑战(包括Swift)的最佳场所。整个系统都是游戏化的,这意味着您将获得经验并成功应对每一个成功的挑战。它使用与Go相似的排名系统:您从8 Kyu开始,一直发展到1 Kyu。

挑战(称为“ kata")按其难度分类。幸运的是,这里有成千上万的挑战可用,因此即使您升级得太快,也可以随时返回并进行更轻松的挑战。挑战类型包括算法,数据类型,字符串和数字操作,控制流,难题,逻辑等等。

我对Codewars的喜爱有两点:首先,完成kata使您可以看到解决方案第二,用户可以创建自己的kata,因此收集的挑战每天都在增加。它确实是增强技能的最佳编码游戏之一。

2。 CodinGame

CodinGame 上的Swift编码挑战比Codewars上的挑战更多,这是因为CodinGame的挑战是为游戏设计的。例如,“雷神之力"挑战使您移动了雷神的位置,以便他可以在尽可能少的步骤内到达力量之光。

挑战按难度进行分类,范围从轻松到中级到硬到非常硬。当官方用完时,您还可以尝试社区制作的拼图。注意CodinGame的挑战非常艰巨,但是您会在斗争中学到很多。

除了单独挑战外,CodinGame还提供五分钟的多人编码战(您尝试完成许多挑战)尽可能)和更大范围的社区竞赛(每月或每两个月举行一次)。

3。 CodeChef

CodeChef 提供了一些挑战,例如编码作业问题。它们分为“初学者",“简单",“中等",“困难"和“挑战"类别(以及一个针对用户提出的挑战的称为“对等"的额外类别)。

有数百种挑战可用,而且难度可能很大。相比之下,大多数初学者都有1000多个成功的提交,中等的平均有数百个,而挑战的很少会突破100个成功的提交。这对新手和退伍军人都是一个好习惯。

CodeChef还举办比赛。并非所有人都提供奖品,但是正式的CodeChef竞赛的奖池最高可达$ 700。

4。 / r / DailyProgrammer

DailyProgrammer 是一个Reddit社区,适合希望通过网络上较困难的编码难题进行测试的程序员。它曾经是日常工作,但过时了,每2-3天左右。

很好的是,挑战被标记为轻松,中级或困难。坏消息是,即使是Easy挑战,尤其是较新的挑战,对于编码初学者来说也相当困难。但是,如果您愿意,您随时可以进入档案库并重温旧的挑战。

5。欧拉计画

欧拉计画几乎就像是一套自我指导的Swift编码挑战。这些档案总共包含600个挑战(称为“问题"),但没有任何答案,解决方案或讨论。通常,很容易知道何时可以解决问题,但有时却不知道,这可能令人沮丧。

此外,欧拉计划的挑战本质上主要是数学和逻辑上的挑战。您无需进行任何编程即可解决所有这些问题。但是,作为锻炼大脑的一种方法,它们很棒。而且由于编程全部是关于使用代码解决实际问题,因此这基本上是同一回事。

6。 TopCoder

TopCoder 的挑战与本文其余部分有所不同,仅是因为它们是多人竞赛而不是单人难题。您必须提前注册它们,然后必须在时间用完之前完成它们。

区别在于TopCoder的挑战伴随着一些丰厚的奖金支付。在上面的屏幕截图中可以看到,在撰写本文时,有四个正在进行中的挑战,成千上万的风险不容小dollars。磨练技能后,还不错。这是测试您作为Swift编码器的世界准备程度的好方法。

唯一的缺点是,每个挑战仅支持一种或多种特定语言。尽管确实存在Swift编码挑战,但每个月大概只有一个挑战。

7。 Coderbyte

Coderbyte 可能不如上面的其他一些挑战性站点那么详尽,但它仍然是练习Swift的绝佳方法。挑战(分为“简单",“中等"和“困难")来自官方和用户提交的逐步解决方案,以及问题讨论区。

Coderbyte的独特之处在于其“算法"部分,其中您可以学习各种算法:树遍历,范围重叠,股票价格最大化,数组求和,排序实现等。

不幸的是,免费用户只能获得10个挑战和解决方案。高级帐户的费用为$ 29 / mo(或合理得多的$ 150 / yr)。这值得么?好吧,使用您的10个免费挑战并亲自看看!

更多练习Swift的方法

如果Swift是您的第一门编程语言,请记住我们的学习技巧,而无需进行编程压力 。一开始可能很难,但是请坚持!

一旦您对Swift感到满意,就可以继续执行这些iOS应用项目想法。追求真正的项目并成功完成,无非就是激发编程信心。

您如何看待Swift作为一种语言?您最喜欢的学习和练习编程的方式是什么?在评论中与我们分享!

标签: Apple Swift