經過這一個月的學習,我完成了從 Java 基本語法到 OOP、資料結構、GUI,再到遊戲專案與 GitHub 上傳的完整流程
。這段時間的學習對我來說不只是表面的知識的累積,更是一場「從零開始」的專案實作,讓我逐步把抽象、不理解的概念轉換為實際能運行的程式。
每天完成當天的進度後,我時常在想:這個專案還有哪裡可以完善?
就這樣不停地修改與調整,最終完成了屬於我的第一個自主開發遊戲:貪食蛇。過程中我經歷了許多命名上的掙扎,隨著專案越來越完整,我甚至開始困惑於自己設立的命名邏輯。而這也讓我意識到,如果在大型專案或遊戲開發的初期沒有明確規範,後續維護會變得非常困難。
另外,在冷靜回想後,我也發覺只是一個非常簡易的遊戲。對我而言它很完善,但它的上限也就只到這裡。為了避免自己掉入「自我安慰」的陷阱,我必須看清事實:這只是起點,我需要挑戰更多有難度、有意義的專案,才能真正提升我的程式能力。
語法與OOP:
前十天的基礎學習讓我鞏固了程式思維。了解到 Java 嚴謹的語法雖然一開始會覺得麻煩,但隨著 OOP 的出現,我開始理解結構化設計的重要性。
資料結構:
雖然只學到 LinkedList,但已經感受到它們在專案中的實用性。我清楚知道這部分還有很大提升空間。
GUI 與專案實作:
學 GUI 的過程是轉折點,因為不再只是單純「寫程式」,而是開始思考「使用者如何互動」。這讓我在做遊戲時有了很強的成就感。
GitHub 上傳:
昨天接觸到 Git 讓我體會到版本控制的重要性,這不只是技術,更是一種工程師應有的習慣。
整個挑戰最累的並不是學習,而是 學習後的筆記與整理。
平常我可能只需要一個小時學習,但為了寫鐵人賽文章,我常常要額外花兩個小時,把當天的內容梳理清楚。雖然累,但這讓我能在當天就檢討、複習自己的收穫,也真正感受到自己在努力「自主學習」。最重要的是,當我回顧這30天的文章,看到自己的成長軌跡時,那份感動是無法取代的。
我也透過這個計畫體會到一些有效的學習方式:
專案導向學習:設定明確目標,讓每天的學習有落點。
拆分與規劃:把大目標切成小步驟,避免被知識量壓垮。
帶著疑問學習:遇到問題停下來釐清,比硬著頭皮做下去更有效。
雖然完成了挑戰,但我清楚知道這只是起點:
資料結構與演算法:需要深入,才能在專案邏輯中更靈活。
設計模式與架構:讓程式不只是能跑,而是能被維護與擴充。
團隊合作與開源貢獻:嘗試多人協作,學習如何規範與整合程式。
延伸語言與框架:未來可以考慮延伸至 Spring、Android 開發,甚至跨語言拓展。
這30天給我最深的體會是:學習程式不是衝刺,而是長跑。
每天一點一滴的累積,最終匯聚成一個完整的專案。雖然只是簡單的遊戲,但它象徵著我從「學語法」邁向「做專案」的重要跨越。
總結來說,我學到了很多,也探索了自己過去沒有深入了解過的領域。未來我會努力繼續挑戰更多困難的專案,讓這30天的經驗成為我程式學習路上的一塊重要基石!
也恭喜自己成功完成30天的連續發文,鐵人練成!