初学者应该先学什么:TDD、Swift 仍是函数式?

做者:Dominik Hauser,原文连接,原文日期:2015/04/19
译者:小锅;校对:Channe;定稿:numbbbbbios

昨天我收到一个问题,做为一个 Swift 初学者应该先学什么。下面是原问题:编程

我有一些疑惑,TDD(测试驱动开发)是否值得花时间学习,或者我应该把时间花在学习 Swift 以及函数式编程上?swift

固然,个人观点会有所倾向,由于我写过一本关于 TDD 的书。因此,当你阅读个人答案的时候,要记住这一点。app

建议 1:阅读苹果的 Swift 官方文档

个人建议是应该先学习 Swift 语法。这是全部一切的基础。若是你不明白 Swift 中的函数有什么功能,那么你也没法理解 Swift 的函数式编程。而且,Swift 目前的主要做用仍是为 iOS、macOS 编写应用程序。这意味着,你的大部分时间仍是会花在与面向对象 API 的交互上(至少在写本篇文章的时候仍是如此 ;))。因此你必须先理解面向对象的 Swift,这样才能最大化挖掘 Swift 的潜力。less

若是你对我说的这一点还有所怀疑的话,下面这段话是 Chris Eidhof、Florian Kugler 和 Wouter Swierstra 在 《函数式 Swift》 这本书当中说的:函数式编程

“你必须能熟练地阅读 Swift 程序,而且熟悉常见的编程概念,好比类,方法,和变量。若是你才刚开始学习编程,这本书可能不太适合你。”函数

建议 2:阅读大量的博客文章。如今网上有不少的很好的 Swift 博客。

官方文档很好。可是若是你想看到社区内的各类有创意的思想火花,你须要阅读大量的博客文章(校对注:好比多看看 SwiftGG?,咱们会跟进 Swift 最新动态和最佳实践)。工具

建议 3:开始学习写测试,而且使用学到的知识为你本身的代码写测试

我以为测试是必不可少的。每一个开发者都应该对他们的代码进行测试。一个好的测试工具备很是多的好处。Michael FeathersWorking Effectively with Legacy Code 当中写过:学习

对我而言,遗留代码就是那些没有写测试的代码。测试

个人见解是,测试驱动开发就应该从测试开始,而须要测试什么这个问题是次要的。你要为(几乎)全部的代码写测试。TDD 的一个法则就是只有当测试失败的时候才须要写代码。

建议 4:学习函数式编程

Swift 也拥有函数式的特性。你能够不使用它们,但若是你是(或者想成为)社区中积极的一分子,你很快就会碰到函数式魔法。个人见解是,学习函数式编程会让你成为一个更好的开发者。一般状况下,函数式的代码第一眼看上去就像魔法同样,但它就是能完成功能(这能够经过测试来验证)。

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

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

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

相关文章
相关标签/搜索