(Swift之路) 从这里开始

做者:Dominik Hauser,原文连接,原文日期:2016-04-19
译者:Darren;校对:Crystal Sun;定稿:CMBios

昨天有人问我, Swift 初学者应该先学什么。 问题是这样的:git

我有个问题想咨询一下你, 是应该花时间学习 TDD (测试驱动开发) , 仍是应该学习 Swift 和函数式编程,哪样更值得学习?github

固然,个人观点会有一些偏见,由于我写了一本关于 Swift TDD 的书。在看个人回答时,切记这一点。编程

建议#1:阅读苹果官方的 Swift Book

在我看来,应该先学习Swift。这是一切的基础。若是你连 Swift 函数能实现什么都不懂,何来函数式编程的概念?此外,Swift 仍是编写 iOS 和 OS X 应用主要的语言。这意味着大多数时候你须要和面向对象的 API 进行交互(至少在写代码的时候须要)。因此你也须要理解面向对象的 Swift, 以便在写 Swift 时充分利用 Swift 的潜力。
就算你不相信我,Chris Eidhof,Florian Kugler和Wouter Swierstra在《Functional Swift》中也这样说过:swift

“你应该能很顺利地阅读 Swift 程序,并熟悉常见的编程概念,例如类、方法和变量。若是你只是一名初学者,这本书可能不太适合你。”app

建议#2:阅读大量博客文章。 有不少伟大的Swift 博客。

苹果的官方文档很是好。可是,若是想了解社区中有创造力的想法,须要阅读不少博客。less

建议#3:学习并为你的代码编写测试。

在我看来,测试相当重要。每一个开发者都须要测试他们的代码。一套好的测试用例会带来不少好处。Michael Feathers《Working Effectively with Legacy Code》 一书中这样写道:函数式编程

对我来讲,旧代码就是未经测试的代码。函数

对我来讲,测试驱动开发对测试来讲是一个比较好的开端,由于要测试什么是次要的。你(某种意义上说)为(几乎)一切编写测试。TDD 的一个规则是,只在测试失败时编写代码。学习

建议#4:学习函数式编程。

Swift 还有函数式的一面。你不须要使用它们,可是若是你正好(或者愿意)积极参与社区,可能会很快沉迷于函数式编程的魔法之中。在我看来,学习函数式编程会让你成为一个更好的开发者。函数式的代码一开始看起来就像魔法同样。(只要你能经过测试验证,)它就能工做。

以上是个人观点。我相信许多开发者有不一样的意见。去吧,问问别人怎么看。

以及,请购买个人书。 ;)

本文由 SwiftGG 翻译组翻译,已经得到做者翻译受权,最新文章请访问 http://swift.gg。像魔法同样,但它就是能完成功能(这能够经过测试来验证)。

这就是个人建议,确定有不少开发者跟我持不一样的意见,这很正常,一样去问问他们的想法吧。

最后,记得买个人书。 ;)

本文由 SwiftGG 翻译组翻译,已经得到做者翻译受权,最新文章请访问 http://swift.gg