すもも_判断基準記事_サムネ.jpg

初次見面。我是 PRUM 株式會社的工程師,すもも🍑
我平常會整理並分享在程式學習與實務工作中,容易卡關的重點,以及思考方式。

如果你對 PRUM 有興趣,也歡迎看看我們的公司網站。
公司網站

你是否曾經為了寫出像自己敬佩的前輩那樣的程式,而努力模仿他們的寫法與工具使用方式呢。

然而,即使覺得自己是照著一樣的方式在寫,卻總覺得實力沒有成長,心裡也會感到很焦躁——我想很多人都有過這樣的經驗。

最近我慢慢覺得,自己大概終於明白原因了。

模仿了卻沒成長的人,常見的模仿方式

「只要模仿寫出好程式的人就好了」這樣的建議並沒有錯。只是,很多人模仿的,都是變數命名方式、快捷鍵、使用的編輯器設定這些肉眼可見、較表面的部分。

模仿表面的部分本身並不是壞事。但如果只是不斷重複這些,一遇到無法套用的情境就會停住。即使寫法看起來很像,當面對第一次看到的錯誤,或是不尋常的規格變更時,也無法用同樣的方式應對。

這並不是說模仿本身沒有意義,而是模仿的對象搞錯了而已。

應該抄寫下來的,不是程式碼,而是判斷基準

すもも_判断基準記事_挿絵_3ステップ図解.jpg

優秀工程師的程式,不只是寫法本身,更處處刻著「為什麼這樣設計」「為什麼用這個步驟處理錯誤」這類判斷基準。真正該模仿的,是這些判斷基準與思考前提。

不過,就算被說「去模仿思考方式吧」,還是很難具體掌握到底該做什麼。這時候很有效的方法,就是把優秀的程式真的一行一行寫下來,也就是「模寫」。

乍看之下可能會覺得很繞遠路,但在用鍵盤逐行抄寫的過程中,你會不得不面對原作者的意圖,例如「為什麼這裡要用條件分支」「為什麼要用這個順序來處理」。那些只靠眼睛閱讀會直接略過的邏輯連結,透過實際動手重現,會有一種慢慢滲入身體的感覺。

如果說表面的模仿是「讓外觀看起來相似」,那麼模寫就是「把思考方式真正帶進身體裡」。我想,這個差異就是能不能靈活應用的分水嶺。

不過,即使理解了「把判斷基準抄寫下來很重要」,如果只是滿足於這一點,最後還是會跟以前一樣,停留在「好像懂了」的狀態而已。接下來,我想整理一下實際應該從什麼開始做起。

具體行動清單

為了抄寫出判斷基準,我想試著留意以下幾件事。

  • 找到想當作範本的程式時,不只閱讀,也要實際用自己的手寫一遍
  • 在抄寫程式的過程中,隨時試著把「為什麼這裡要這樣處理」說成自己的話
  • 向前輩請教時,不要只問「要怎麼寫」,而是要問「為什麼會這樣判斷」
  • 自己寫程式時,也把判斷理由用註解留下來

把原本用在模仿寫法上的時間,稍微挪一些去追問「為什麼」。只要這樣做,模仿的品質應該就會改變。

總結

會覺得「明明有模仿卻沒有進步」,並不是因為模仿本身沒有意義,而是因為模仿的對象不是寫法,而是判斷基準

真正應該從優秀工程師身上抄下來的,不是程式碼的外觀,而是他們選擇那個設計、那個步驟時所依據的判斷基準本身。

如果你正因為表面的模仿而停滯不前,不妨先停下手邊的動作,透過模寫來確認一下,你所憧憬的前輩究竟具備什麼樣的判斷基準。


PRUM 的工程師多數都是從無經驗者開始錄用的。
如果可以的話,也歡迎來我們的公司網站逛逛。
PRUM 招募頁面

我們也有經營整理給工程師參考的文章網站。如果你有興趣,也歡迎看看。
對工程師有幫助的文章網站


原文出處:https://qiita.com/sumomoo/items/eed2707e22d8ba940871


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝11   💬4   ❤️1
258
🥈
我愛JS
💬1  
6
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登