長期維護一個專案,
並持續增加新功能來累積經驗。
當要修改數個月前寫的程式碼時,如果不靠記憶,能否快速的找出對應的程式碼並進行修改?
所謂好的程式碼,不外乎好理解、好維護、不易出錯。雖然業界已有不少經驗可學習。但自身實踐仍是最重要的一環。因此寫 side project 並持續維護,在一次次的除錯與修改中,體會當前作法有什麼缺陷,可以怎麼改進,是我認為最好的學習方式。
在累積了一定的經驗之後,再來研讀前人所提供的建議,將更容易理解其背後原因。網上有許多資料可參考,以下簡單分享兩個例子:
既然有這些資源,為什麼還要閉門造車自己摸索,直接遵照這些作法不就好了嗎?
這些 Best Practice、Design Principle、Design Pattern 等,都應該在理解後,選擇何時應該使用。如果只是盲目地照單全收,很容易導致 over-engineering,花了大把時間,還使得專案變得更難維護。
善用 prettier、linter 等工具,也可以有效提高程式的可讀性,並防止一些基本的錯誤。當 eslint/stylelint 報錯時,不要光照著錯誤提示修改,而是要去了解規則背後的原因。每一條規則的建立都有其理由,也並不是每條規則都適用在所有的專案中。