40 個讓 coding 技巧進步的方法
本文翻譯自 40 Tips that will change your coding skills forever。作者 Kesk 列出了一些對職業生涯有幫助的事情,很快就能讀完,但要正確應用到生活中可能需要一生的時間。Kesk 從事將近十五年的 App 開發,但有時仍不得不停下來思考軟體開發這行的重要心法。
- 將程式碼拆分為不同的小功能。
- 如果該下班時還沒有解決問題,那就關機,明天再做吧!別在想了。
- YAGNI 原則:除非必要,否則不添加新功能,也別預測未來,你只需要盡快做出能用的東西,只為必要的部分和當前的需求撰寫程式。
- 你不需要了解所有知識,也不需要了解所有框架。最重要的是你有好的基礎,在使用框架前先對程式語言深度了解,並且學習 SOLID 原則或是如何撰寫簡潔的程式碼。
- KISS:「愚蠢地保持簡單」或是「保持愚蠢的簡單」是一項設計原則。指出大多數系統如果保持簡單而不是搞得更複雜,效果會是最好的。儘管這合乎邏輯,但有時很難實現。
- 別想太多。
- 如果在問題或 bug 上花太多時間,先離開一陣子,通常從辦公室到洗手間的路上,最好的解決方法就會誕生。對客戶或同事感到生氣時,也建議離開一陣子,如果你還想保住飯碗的話。
- 學習撰寫有用的測試和做 TDD。TDD 是一個軟體開發過程,依賴重複非常短的開發週期:撰寫測試、執行所有測試、發現問題編寫程式碼、執行測試、重構程式、重複循環。
- 先解決問題,再撰寫程式。別在不知道該做什麼的情況下就開始寫程式。
- 別記程式,而是了解邏輯。
- 學習如何更好的使用 Stack Overflow。如果要複製貼上 Stack Overflow 的解決辦法,確保你已經理解了。
- 如果想學習新東西,那就練習。做一些範例並讓它們發揮功能,僅靠閱讀學習是不夠的。
- 閱讀他人的程式碼,也讓別人閱讀你的程式碼。組隊開發和互相審查程式碼都是不錯的主意。
- 別重造輪子。
- 你的程式碼是最好的閱讀文件。
- 知道如何 google 資料。這需要許多的閱讀經驗,以了解自己需要查什麼。
- 你的程式碼在未來可能由他人進行維護,所以在撰寫時將這點銘記於心,別總想當個最聰明的人,盡可能讓程式可以當作故事來閱讀。
- 使用 Google 解決錯誤最好的辦法就是複製貼上。
- 永遠不要放棄,不管如何,你終會解決問題。你總會有狀況不好的時候,但總會過去。
- 平靜、平靜、再平靜。解決問題最好的方法就是讓自己有顆安逸的心。
- 學習軟體設計模式。設計模式是程式設計中常見的問題解決方案,每個模式都像一個藍圖,你可以對其進行自定義,用自己的程式碼解決常見的問題(別重造輪子)。
- 使用整合工具,並儘可能自動化。
- 做 Code Katas,它是編程中的一個練習,可以幫助工程師透過重複性和練習熟悉技能,練習範本參考這裡。
- 讓程式碼關注於介面,而不是實現內容。依賴注入是必要的,可參閱 SOLID 原則。
- 重構 — 測試 — 重構。重構是藉由重組現有程式碼、更改、不透過外部行為而優化內部結構的技術。
- 當需要的時候尋求協助,別浪費掉時間。
- 熟能生巧。
- 雖然有時候評論可以幫到你,但別花太多心力在上面,他們很可能已經過時了。
- 了解你的開發環境,投資一個夠強大的,像是 IntelliJ。
- 重複使用組件。
- 開發 web 應用程式時,以移動設備優先,並考慮效能和頻寬。
- 別過早優化和重構程式,盡快做出最小可行性產品更為重要。
- 永遠不要為了節省時間,選擇沒什麼效率的方式抄捷徑。每次寫程式時,都量力而為。
- 遵循文件標準。
- 使用者不是技術人員,開發使用者介面時為他們想想。
- 總是使用版本控制系統,如 GitHub 或是 Bitbucket,並頻繁的做小提交。
- 使用 log 比調試程式碼要好得多,請 log 所有關鍵的部分。
- 寫程式時保持一致性。如果有使用撰寫風格,就始終使用同一種;如果是和許多人協同開發,確保所有團隊成員使用同種撰寫風格。
- 別停止學習,不過比起新的語言和框架,還是將注意力放在軟體開發的基礎上吧。
- 最後,對你在做的事情保持耐心和熱愛。
感謝您的閱讀,我試著將生活與自己所學到的知識,以平易近人的方式傳達給正在努力進步的同好,甚至是領域之外卻有興趣的人,您的鼓勵也是我進步的動力。