(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