更新於 2023/04/21閱讀時間約 3 分鐘

瓶裝雪 | 學習程式的五個階段

一、前言

  這篇文章將會分享一場討論程式發展階段的體悟。

a. 探討技術的產物
  城市發展到底有幾階段,我發現我同學的程式學習路徑中竟然有載插件近來研究,然而我的學習路徑大多數都是自行撰寫,於是我們開始討論程式學習的路徑應該有那些東西。

b. 轉技術層面的朋友
  同時,因為有一位原本走美術的朋友要轉職到程式,似乎是因為多方因素再搭配上程式比較有好吃的飯可以吃,所以最後決定往 Unity 程式前進,不過另外一個 Unreal 的程式員更加賺錢,技術也更加困難就是了。

二、學習程式的五個階段

  接下來簡單分享我記錄到的五個階段。

a. 抄寫程式
  首先,我們會抄錄網路上關於我們喜歡功能的程式碼,在這一個階段我們獲得的成就感很巨大,因為我們雖然看不懂,但是遊戲程式可以運作了,我們也就有了基礎能玩的東西。
  在這個過程中,我們有時候會發現我們寫的東西跟教學上一樣,但是出了一些程式 Bug ,這是這個階段真正要學習的東西,如何除錯。

b. 微調程式
  隨後,我們會試著解析程式碼內容,我們會稍微修改這些教學出現的程式內容,看看它們是否如同我們心中所想的一樣運作,甚至可能會獨立出一個函式用於測試。
  在這個階段,我們要學習的是如何研讀程式碼,資料類型是什麼東西,變數宣告後要怎麼運用,這是 Unity 的哪一個 API等等,我們會去了解這些教學的程式碼是在寫什麼,脫離照抄的階段。

c. 獨立完成功能撰寫
  當我們對於遊戲程式有一定了解之後,我們會開始嘗試從頭撰寫一份屬於自己的程式碼腳本,從最基礎的部分開始延伸,看看是否能不看任何教學,就寫書自己心目中的遊戲或軟體。
  在這個過程,會統整a. b.階段的學習心得,並且從中收穫自己的體悟,內化成自己的技術,在這個過程,我們會真正的學習如何撰寫一個完整的遊戲程式。

d.研究插件包的程式碼
  這是我認為比較困難的階段,因為這個時候,我們可能會需要使用 Assets 商店中的插件包,要了解插件包的結構是一件不容易的事情,首先,我們會同時看到一大堆程式碼。
  哪些程式碼是真正在運作的程式碼,哪些程式碼是不太重要的東西,要如何從這被包裝好的程式碼中找出真正有價值的程式碼片段,這些是這一階段最重要的東西。
  每一位程式員撰寫程式的風格都不同,教學是很簡單的東西,並且通常會雕琢到簡樸的程度,而放在商店上販賣的東西,哪怕是免費提供,也不見得是最精簡的程式碼,甚至只是能運用的階段。
  這種程式碼閱讀起來會很累,是我們第一次接觸到「其他程式員」撰寫的程式碼,研讀這種程式碼會讓我們對於程式架構有一些想法,譬如說千萬不要寫出這種東西,或是這種架構很特殊,想學習。

e. 程式碼架構與效能優化
  我們會寫程式了,也了解如何使用其他插件包,這個時候我們對於寫出來的程式碼會有一些心得,想要改得更好閱讀,或者精簡自己寫的程式碼,於是我們走上優化這條路。
  優化程式碼是一件不容易的事情,因為我們除了精簡以外,我們還會接觸到如何降低效能,並且怎麼樣的程式碼具有隱患,哪些程式碼的效率低下,這個時候都會更加理解。

三、後記

  總之,大概就這些東西,希望對大家有幫助,程式學習的旅程中,我想有很多人迷茫,但這條路我認為很值得,因為讓遊戲動起來真的很有趣不是嗎?
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.