尤其如果你是完全沒有背景的人。
我覺得寫 code 其實有循序漸進的幾個階段
第一階段,了解如何想一件事情。
有了點子,有了想法該如何執行。
我所謂的執行是說如何跟電腦說你想做這件事情
例如,我現在在執行的“ 夯te r”這個專案
讓A可以追B,B可以追C,C可以追A。
A附近的B要顯示在A的畫面,
然後追到了可以一個升級,一個被扣點。
在功能上就可能要這樣想,怎麼定義“ 追到 ”?
怎麼定義“ 附近 ”? 怎麼定義“ 被追到 ”?
升級時是要自己扣自己?還是一個是“ 加一 ”一個“減一”?
如果被追到要進行什麼?如果沒有被追到要進行什麼?
在口頭上說很簡單,畫面也可以被想像,但是在程式的想法
要怎樣去執行,怎辦別,if / esle 的概念。
聽說這叫做架構。
要學會架構,才可以去寫 code。
第二階段,開始學習怎麼寫。
一段程式他的組成是什麼,先從哪裡開始,
下怎樣的指令來代表結束
不用懂為什麼,雖然懂的話會更方便你去寫。
這些東西就像是學英文,
你要知道把 “ 主詞+動詞+受詞=句子。”
這件事情給記憶起來,知道 “ { ”後面就要接上“ } ”
" ; "分號等於...等等的。
這階段很快,不求知道裡面的 code ,但求大概了解
媽我在這,還在往這邊走的路上。
第三階段,模仿,並且讀懂別人的 code 。
開始要去了解每行字的意思,還有其中的功能。
“IBOutlet”是要接什麼,為什麼要這樣。
開始了解有哪些功能,這些功能能幫你做什麼,
這時候就非常痛苦的學習階段,
這時候你應該具備基礎的能力可以寫出一段
有工程可以執行的 “ code ”
#import "ViewController.h"
這句話要代表的是什麼意思。
而且代表的意思是什麼?
海量的學習,要瞭解到更深層一點的地方例如,這筆資料會呼叫什麼功能,這功能儲存在哪裡?
而且這也是在學習 APP 時他會逼迫你要懂得地方
像是你的 Code 寫在哪裡,就會有不同的效果。
或者根本不會有效果,或者會使你的 APP Crash Down
要如何用別人的 code 他的 code 有什麼功能。
簡單的來說,如何 copy paste 你所需要的功能
當然要學會如何引別人的功能到自己的程式裡,要先學會。
這邊需要海量的知識,海量!!
還有不斷的實作,不斷地打 code!
加上一個可以快速解答的老師,那可以加速你的進行。
第四階段,我猜應該就是像我們老師那樣
。融。會。貫。通。
不單單會寫,還會改進別人的功能。
對於哪裡可能會有錯誤,一眼就知道。
就算遇到不知道的問題,稍微 google 一下就會解了。
大概四五年就可以達成,重複做。
所以打 code 說簡單很簡單(別人),
說難真的很難(對我而言)。
沒有留言:
張貼留言