「軟體開發實務入門」學習心得

 我在 2020 年 12 月參加了 AlphaCampe 學期 2-2:軟體開發實務入門,學習用 AJAX串接 API、用 MVC 架構將程式碼模組化,以及控制程式的流程。

(這份心得是用課程中建議的 ORID 的架構寫的)

OBJECTIVE

用「現在的你」來比較「 1 個月前的你」,你是否感覺到自己某方面的技能進步?

在寫「強化你的社群名單」這份作業時(我的作業成品連結),我就感覺到:

    1. 變數的命名根本沒有什麼規則可言,有些名字很相近,例如 user-list-tab、user-list、user-list-data-panel,我自己寫到一半都會突然搞不清楚這些名字是指誰⋯⋯
    2. 如果叫我一個月後再來看程式碼,我大概要從頭到尾好好研究一次,才能看懂這些程式碼在做什麼。

學到 MVC 架構和流程控制後,覺得鬆了一口氣,也覺得能想出這種絕妙解決方式的人們,是天才!天才啊!!覺得自己能學到這些解決問題的方法,真是幸福啊。


REFLECTIVE

針對你說的進步點,這個進步點是怎麼累積出來的?在過去幾週你經歷了什麼樣的過程?過程中的哪些環節刻意練習到了這件事?

課程利用翻牌遊戲 (我的作業成品連結),一步步教我們

    1. 怎麼為程式碼分類:例如渲染畫面的函式放在 view 物件裡,儲存「使用者現在翻開了哪兩張牌」的陣列則放在 model 物件裡,以及如何在 controller 物件中安排調度 view 和 model,讓這兩個物件能夠好好地服務使用者。
    2. 怎麼控制流程:增加 GAME_STATE 的陣列,存放所有可能的遊戲狀態:等玩家翻第一張牌、等玩家翻第二張牌、兩張牌點數一樣、兩張牌點數不一樣、遊戲結束。在 controller 物件中增加一個紀錄當前遊戲狀態的 key-value pair。然後藉由判斷當前遊戲狀態的值為何,決定接下來該做什麼動作。

INTERPRETIVE

根據你這次的「成長經驗」,若要「持續學習,持續進步」,是否能提煉出任何「對你來說行得通的行為/心態」?或者你有沒有發現什麼行為/心態是行不通的?

在寫「強化你的社群名單」作業時就已經察覺自己整理程式碼的能力有待加強。除了被動地等待「接下來的課程是不是會教我如何改善這個問題呢」(而且幸好課程真的有教呢),我也該主動尋找資源,面對這個短處。


DECISIONAL

總結。為你在下一階段學習的學習,給自己一些意見。

我在 Udemy 上買了 clean code 的課程。希望我真的會去打開課程。

Comments

Popular posts from this blog

Alpha Camp 全端開發課程學習心得

在 javascript 用 regular expression 為金額加上千位數分隔符號

shop_platform - sqlalchemy.exc.TimeoutError