最初
我第一次接觸程式語言,是在國一的時候,學習的是VB6.0,在一開始,我什麼都不懂,大概讀懂簡單的程式,然後靠著剪剪貼貼拼湊出我想要的程式,我還留著我的第一個程式
Private Sub Command1_Click()
If A.Text > B.Text Then
Label1.Caption = "a大"
End If
If A.Text < B.Text Then
Label1.Caption = "b大"
End If
If A.Text = B.Text Then
Label1.Caption = "一樣"
End If
End Sub
我還記得第一次它正確如我預期地運作時的感動,如你所見,當時我連什麼是縮排都不知道,隨著程式越寫越多,野心漸漸地也越來越大,當時有款很紅的線上遊戲叫天堂,我想要寫出那樣的遊戲,於是就在國中時埋頭苦幹式地硬寫出了一個遊戲的雛形,我把它叫做夢想線上(Dream On Line)
這遊戲沒什麼可以玩,只能走來走去,有很多的bug,事實上我有寫過一個伺服器找來網友一起連線,不過那伺服器的穩定度實在糟糕得可以,隨時都有可能當機
回頭再寫
因為已經上了高中,能寫的時間只有寒暑假,當這遊戲放了一陣子,我想再回去繼續寫時,只有心煩的感覺,完全寫不下去,太多硬拼湊出來的東西,完全沒有什麼組織可言,重寫似乎反而來得痛快多了,於是就重頭寫過,雖然每次都越寫越快,越寫越好,但最後都是一樣的下場,重寫,每次我回過頭去想繼續寫都覺得以前為什麼用這麼蠢的方式在寫,重寫似乎都是最好的方法
認識演算法與資料結構
原本我完全不了解什麼是演算法與資料結構,在這個過程中我開始了解到什麼是演算法和資料結構,原來我一開始想出來貼地圖磚塊的方式可以說就是演算法,而儲存地圖的方式也是資料結構,在重寫的過程中不停的加入我所學到的,可是最後還是重寫,是不是少了什麼? 我開始懷疑,這樣幾年過去了,這個遊戲我居然重寫了5次還6次,我自己都算不清楚了
八年過去了
寫程式開始到現在,在一路上我一直在探索到底什麼才是好的,什麼才是正確的,從一開始只會剪貼程式碼片段,來完成想要的程式,瞭解什麼是演算法和資料結構,漸漸學會查文件,程式我都寫得出來,硬寫也是寫出來,但總是少了什麼,無法維護、總是有很多問題,直到這些年我發現
設計
原來我的程式一直少了設計,程式設計師的設計這兩字並不是平白無故加上去的,在用硬寫寫出程式的日子裡,從我不知道演算法、資料結構,但不知不覺地用了演算法和資料結構,不知道什麼叫做觀察者設計樣式,但是卻想出來並使用,在這些不懂設計的日子裡,我只是一個程式黑手,憑著七拼八湊硬是湊得出成品,但那樣的成品並沒辦法維護、擴充,同樣的也容易產生很多問題,離所謂的設計師還很遙遠,一個程式的好壞,設計才是重點,對於玩語法把戲,更顯得離設計更遠,一個程式如果有好的設計,在細節上就算用很笨的方法寫一樣可以運作得很好,正因為我寫過爛程式,我才能體會什麼叫做好的程式設計
設計,才是王道