91 極速開發課程心得

6 min read

# course

從年初上了 tdd by example 之後轉用 webstorm 開發,今年年中接續著報名了極速開發線上的課程。

課前準備

在課前對這門課的理解是一堂會深入很多 vim 與快捷鍵操作的課程,而在上課之前,自己對 vim 的了解停留在完成 VimTutor 1/3 左右,知道 i 可以進到 insert mode,ctrl + c 可以離開,dd 可以刪除。

而原本也參考 【極速開發】我花4個月課前練習,有效提升 60% 寫 Code 速度 | by 廖洧杰 (查理) | Medium 的文章想要先練習過 4 個月完善準備的才開始課程。但果然這種異常積極的期待總是事與願違,直到課前一週才匆匆忙忙的看了課前通知信,把該裝的插件先裝好、並讀了 tennis kata 的需求,最後再次體驗課前理解對 vim 的殘廢感就開始課程了。

課程介紹

這一場是 202210 zoom 線上場,從早上 0900 - 1900 左右,一開始會由 91 老師先跑一次 tennis kata 到 thirty love 重構的過程,接著請大家拿出要先準備好一段日常開發的程式碼,開始進入 vim 的操作介紹。

在 vim 的介紹非常友善,基本上是從 0 開始,從 vim 有幾種 mode 開始,並有脈絡的引導,讓人更了解 vim 怎麼上手,首先是搜尋、跳轉,再到 command 搭配以及一些 plugin 的組合技。另外也會把一些指令跟日常開發會遇到的情境交叉比對 e.g. 清理資料、刪除 tag 內容 ... etc,也不限語言,從 C#, html, JavaScript 都有著墨。

課程過程中不乏補充 IDE 的好用功能,這一塊因為有先上過 TDD By Example 所以對 IDE 功能有一些了解,但沒想到最後 vim setting 與 IDE action 的連續技可以讓開發加速這麼多。課程中間也補充了很多關於極速開發的哲學,鼓勵大家盡可能減少重複、透過指令來操作電腦。

在最後的最後,開放幾名同學與老師 pair programming 透過講要執行什麼指令,並由老師補充來完成最一開始展示的 tennis kata 到 thirty love 重構,一天的極速開發線上場就落幕了。

課後日談

原先最緊張的是看了很多心得說會有什麼 Pair Programming 讓我緊張到一個不行,真的很怕被其他電爆,上課前一直翻排球少年(X)想累積一點勇氣,一邊想著西谷說:「害怕不就太可惜了嗎?」擠出為數不多的勇氣參與眾目睽睽下的 pair programming,也謝謝老師各種鼓勵。

上完課覺得對自己最有價值的事情在於:「知道自己在幹嘛」

近期發現寫程式常常進入肌肉模式,懷疑是身兼產品工作太常被打斷還是習慣多工的壞習慣,有時寫程式很容易恍神開發途中就想到需求面的事情、不知道自己在反覆嘗試什麼,回過神才:「X,我剛剛不是要試什麼來著嗎?」浪費了不少時間,看到資深同事能非常專注且一步步有效的開發,真的非常羨慕。

為此試過透過 PPP 先寫虛擬碼轉 TODO 再開發、或 TDD 先寫測試在進行開發,又或者是設置很短期的 5 分鐘衝刺,強迫自己一直在意識之中,但不一定每一種方式每一次都適合使用。

而 vim 是更短的強迫專注,連自己下一步在 key in 什麼都是有意識的,這對近期遇到專注瓶頸的我幫助很大。另外最小單位的意識,也代表可以從最小單位 - key in 的改善,連輸入流程都可以加速,比腳本化一些日常作業賺到的時間複利單位更小更多。

推薦如果很喜歡生產力提升或是想要從根本專注起的人可以嘗試看看這堂課,關於課程筆記與後續的 kata 練習可以參考 log 中的筆記。

References