Ask, Do, Commit
受到姿勢跑法(Pose Method)將跑步簡化為 Fall,Pose,Pull 三個動作的啓發,我在想,寫程式是否也能有這樣的簡化?
回想了一下,自己寫程式的過程,似乎也可簡單分成三個階段:
1. Ask
遇到一個問題。 可能是別人問的、作業過程中遇到的、自己問自己的、或是從 TODOs/Issue tracker 裡挑一個。
2. Do
在問題的驅使下,開始去作一些事,如寫程式、調整設定,或是研究資料之類的。
3. Commit
作到某個階段就作個 commit ,可能是版本控制的 commit ,或是筆記的儲存。有點像是玩 RPG 遊戲時"遊戲進度存檔"的功能。
這三個階段。
其中,我覺得第一步好像是最困難的。 很多時候不知那根筋不對,腦筋就是無法進入專注。 我觀察到,似乎在某些被問問題的時刻,尤其是有趣的問題,那瞬間好像有什麼開關被打開了一樣,跟著腦袋就不自覺開始思考跟辯證。
2023-06-16
Commit 也是很重要的一環,但很容易被忽略。
“反正自己做過的,心裏記得很清楚,屆時再回頭 review 就好”
自己常常在找到答案了,或程式會動了之後。 就想先脫離休息一下,或是急着前往下一個問題,而沒有留意把過程中的線索跟思路整理記錄下來。
然而,當時間尺度拉長到一年以上時,過去曾經滾瓜爛熟的經驗往往脫離該問題情境已久,而快速衰減,甚至僅僅留下一個: “我曾經做過這件事” 的印象。
當然,同樣的問題再做一次,多半會比第一次順利很多。 然而,那手感跟興奮感,卻是往往難以再次如實的回到從前。 於是,日換星移、時過境遷後,最後往往落入 “只開花、沒結果” 的窘境。
想到此節,往往不自覺聯想到 灌籃高手 第 24 集中的一個橋段:
只是------
......他在短短四個月之內以快得超乎常規的速度成長,學懂了各種各樣的技術...
若需要花一段長時間讓他接受治療和康復的話......
那他便會有一段長時間不能比賽......
到時候他所學的一切都可能就此煙消雲散。
彷彿就像做夢一樣......
因此,鞏固據點也是很重要的一環。
如一般登山求生守則建議,於沿途留下必要的記號,未來萬一迷路時,能在關鍵時刻幫自己一把。