以過來人的經驗
一個觀念,就是買書只是拿來當參考和查詢用
不要照著書去學如何寫程式
這會讓你的學習時間拖長,且被強迫學到一些過不久就忘了的東西
甚至是看完書,還是完全不會寫出一個 app
學習要精準有效率,而不是浪費時間在看別人寫的範例
一開始只要學會做出 Hello World 就好了
最好的方式就是定一個簡單的主題,然後實作它
主動式的實作並找遇到的問題來學習,勝過背動的由書來帶著你去學什麼
一開始可以試著實作資訊類的,如新聞 RSS、天氣,或是購物清單、Todo List 等小型的 app
關鍵是邊做邊學,不是想要看書學完再來做
而邊實作你的主題,遇到不會的再翻書查詢 (甚至是 google 還比較快)
例如遇到要做 UITableView 時,再翻到書的那個主題來看
當你把你的主題的 app 搞定,你也把基本的概念學的差不多了
而且是實作過的學習,不是看書那種腦內補完的學習
甚至做出來的 app 如果覺得還不錯,還可以上架來補貼一下
再者很重要的兩點,也很多人會忽略
有心在寫 code 這行待的話,這有助於你日後經驗值的快速提昇
如果只是覺得好玩,玩票性質的就算了
1. 記得把筆記下來
2. 用 git 等 source 管理程式來管理專案 + 整理 open source 的 code
第一點其實就是建自己的知識庫
可以用專用的軟體來筆記,如 MAC 上的 Snippets, CodeBox, Code Collector Pro
平時在實作時,一點一滴的把學習過的東西記錄下來,不管是簡單的或是複雜的
實作的愈多,累積的財富將愈多
如 UINavigation 怎麼 push, pop 的動作,UITableView 怎麼加入 Item
並分門別類的記錄,如 iOS > UI > UINavigation,iOS > UI > UITableView
人總是會忘記的,尤其是這種純文字的 Code
這麼做將有助於日後回頭查詢或是把程式碼直接套用,節省日後查詢的時間
但記住千萬不要把網頁或是別人的 Code 直接記下來
而是在你的專案實作過,確定可行且依你寫 Code 的習慣修改後,再筆記下來
否則日後回頭看,你還是看不懂當初在記什麼
簡單的說就是讓你日後能看得懂你寫的筆記
不然記一堆還是看不懂的 code,倒不如不要寫算了還比較省事
第二點就是建自己 + 別人的專案知識庫
用 git 來管理程式碼
雖然 XCode 本身就有支援,但還是建議用免費的 SourceTree 來管理 (在 Mac App Store 上可以找到)
如果要備份到網路上,可以再搭配免費的 BitBucket 這個服務
善用它將可以幫你把每次開發的步驟完全記錄下來
日後有遇到相關的 app 功能,可以有效率的找到之前做過的東西來參考
甚至是過程中所犯下的每個錯誤都可以找到原因
另一點就是多多看別人 open source 的 code
網路上許許多多達人,佛心寫了一堆 open source 的 code 可以參考,甚至是直接套用
但當它散佈在網路各地時,你臨時要用時絕對會找不到的
這時就要用 SourceTree 來把它記錄下來,如最多人分享的 GitHub 的專案,也可以直接加入
平時逛逛網站時,看到有用的 source code,如果剛好是 git 的格式,就不用客氣了
雖然是上面兩點是小小的動作而已
但多年的經驗,遇過滿多開發人員,其實真正會落實的卻不多
每個人都以為可以記得住一大堆 api 要怎麼呼叫,一堆功能要怎麼寫
但這些人總是在遇到想不起來怎麼寫 code 時,像無頭蒼蠅一樣到處找
或是沒用 git 管理所以一直想不起來當初為什麼這樣改寫,而把原本避開 bug 的 code 又改回來了
那何不平時就做好知識庫的建立,讓開發變得更有效率且增加尋找時的精準度
享受生活 http://richiestyle-lavie.blogspot.tw