
初次見面。我是 PRUM 株式會社的工程師,すもも🍑
我平常會整理並分享在程式學習與實務工作中,容易卡關的重點,以及思考方式。
如果你對 PRUM 有興趣,也歡迎看看我們的公司網站。
▶ 公司網站
你是否曾經為了寫出像自己敬佩的前輩那樣的程式,而努力模仿他們的寫法與工具使用方式呢。
然而,即使覺得自己是照著一樣的方式在寫,卻總覺得實力沒有成長,心裡也會感到很焦躁——我想很多人都有過這樣的經驗。
最近我慢慢覺得,自己大概終於明白原因了。
「只要模仿寫出好程式的人就好了」這樣的建議並沒有錯。只是,很多人模仿的,都是變數命名方式、快捷鍵、使用的編輯器設定這些肉眼可見、較表面的部分。
模仿表面的部分本身並不是壞事。但如果只是不斷重複這些,一遇到無法套用的情境就會停住。即使寫法看起來很像,當面對第一次看到的錯誤,或是不尋常的規格變更時,也無法用同樣的方式應對。
這並不是說模仿本身沒有意義,而是模仿的對象搞錯了而已。

優秀工程師的程式,不只是寫法本身,更處處刻著「為什麼這樣設計」「為什麼用這個步驟處理錯誤」這類判斷基準。真正該模仿的,是這些判斷基準與思考前提。
不過,就算被說「去模仿思考方式吧」,還是很難具體掌握到底該做什麼。這時候很有效的方法,就是把優秀的程式真的一行一行寫下來,也就是「模寫」。
乍看之下可能會覺得很繞遠路,但在用鍵盤逐行抄寫的過程中,你會不得不面對原作者的意圖,例如「為什麼這裡要用條件分支」「為什麼要用這個順序來處理」。那些只靠眼睛閱讀會直接略過的邏輯連結,透過實際動手重現,會有一種慢慢滲入身體的感覺。
如果說表面的模仿是「讓外觀看起來相似」,那麼模寫就是「把思考方式真正帶進身體裡」。我想,這個差異就是能不能靈活應用的分水嶺。
不過,即使理解了「把判斷基準抄寫下來很重要」,如果只是滿足於這一點,最後還是會跟以前一樣,停留在「好像懂了」的狀態而已。接下來,我想整理一下實際應該從什麼開始做起。
為了抄寫出判斷基準,我想試著留意以下幾件事。
- 找到想當作範本的程式時,不只閱讀,也要實際用自己的手寫一遍
- 在抄寫程式的過程中,隨時試著把「為什麼這裡要這樣處理」說成自己的話
- 向前輩請教時,不要只問「要怎麼寫」,而是要問「為什麼會這樣判斷」
- 自己寫程式時,也把判斷理由用註解留下來
把原本用在模仿寫法上的時間,稍微挪一些去追問「為什麼」。只要這樣做,模仿的品質應該就會改變。
會覺得「明明有模仿卻沒有進步」,並不是因為模仿本身沒有意義,而是因為模仿的對象不是寫法,而是判斷基準。
真正應該從優秀工程師身上抄下來的,不是程式碼的外觀,而是他們選擇那個設計、那個步驟時所依據的判斷基準本身。
如果你正因為表面的模仿而停滯不前,不妨先停下手邊的動作,透過模寫來確認一下,你所憧憬的前輩究竟具備什麼樣的判斷基準。
PRUM 的工程師多數都是從無經驗者開始錄用的。
如果可以的話,也歡迎來我們的公司網站逛逛。
▶ PRUM 招募頁面
我們也有經營整理給工程師參考的文章網站。如果你有興趣,也歡迎看看。
▶ 對工程師有幫助的文章網站