40 個讓 coding 技巧進步的方法 (如何節省時間和減少錯誤)

更新於 發佈於 閱讀時間約 5 分鐘
raw-image

本文翻譯自 40 Tips that will change your coding skills forever。作者 Kesk 列出了一些對職業生涯有幫助的事情,很快就能讀完,但要正確應用到生活中可能需要一生的時間。Kesk 從事將近十五年的 App 開發,但有時仍不得不停下來思考軟體開發這行的重要心法。

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

感謝您的閱讀,我試著將生活與自己所學到的知識,以平易近人的方式傳達給正在努力進步的同好,甚至是領域之外卻有興趣的人。如果喜歡我的文章,歡迎贊助我,你的鼓勵也是我進步的動力。

留言
avatar-img
留言分享你的想法!
avatar-img
Ray C的沙龍
37會員
31內容數
短篇奇幻作品將不定期更新。
Ray C的沙龍的其他內容
2023/01/14
在 Instagram 看到有人分享在日本操作機器、製作寶可夢客製化衣服的貼文,聯想起先前在網上閱讀到關於 Pokémon API 的文章,一時興起也使用 PokeAPI 仿刻貼文中機器的操作介面。然而在開發過程中,發現連續抓取 905 份寶可夢資料...
Thumbnail
2023/01/14
在 Instagram 看到有人分享在日本操作機器、製作寶可夢客製化衣服的貼文,聯想起先前在網上閱讀到關於 Pokémon API 的文章,一時興起也使用 PokeAPI 仿刻貼文中機器的操作介面。然而在開發過程中,發現連續抓取 905 份寶可夢資料...
Thumbnail
2022/04/03
去年看到 Astro 剛發布時所宣稱的「用較少的 JavaScript 打造極速網站」就對這樣的框架產生興趣,那時雖然也試玩了一下,不過因為遇到一些開發初期的 bug 放棄研究。直到近期拿過去使用 petite-vue 開發的專案 — HTML Reserved Colors 來透過 Astr...
Thumbnail
2022/04/03
去年看到 Astro 剛發布時所宣稱的「用較少的 JavaScript 打造極速網站」就對這樣的框架產生興趣,那時雖然也試玩了一下,不過因為遇到一些開發初期的 bug 放棄研究。直到近期拿過去使用 petite-vue 開發的專案 — HTML Reserved Colors 來透過 Astr...
Thumbnail
2022/03/25
2021 年可以說是 NFT 大爆發的一年了,除了名人相繼創立自己的 NFT,也有各式各樣的商業模式和額外賦能不停的被開發出來;像是主打邊玩邊賺的 (Play-to-Earn,P2E) GameFi 項目「Axie Infinity」、擁有即可兌換一天一碗且連續七天雞肉飯的「元宇宙第一雞肉飯」...
Thumbnail
2022/03/25
2021 年可以說是 NFT 大爆發的一年了,除了名人相繼創立自己的 NFT,也有各式各樣的商業模式和額外賦能不停的被開發出來;像是主打邊玩邊賺的 (Play-to-Earn,P2E) GameFi 項目「Axie Infinity」、擁有即可兌換一天一碗且連續七天雞肉飯的「元宇宙第一雞肉飯」...
Thumbnail
看更多
你可能也想看
Thumbnail
掌握「簡單、有效、系統和全面」的力量,全方位提升學習、工作和生活的成果!🌟簡單原則:不需要搞得超複雜,簡單明瞭才是王道!👑有效原則:不要多做冤枉事,事半功倍才是贏家的秘訣!🚀系統原則:建立清晰的路線圖,就像整理亂七八糟的房間一樣!🏠全面原則:考慮所有相關因素和細節,就像計畫一場完美的旅行!
Thumbnail
掌握「簡單、有效、系統和全面」的力量,全方位提升學習、工作和生活的成果!🌟簡單原則:不需要搞得超複雜,簡單明瞭才是王道!👑有效原則:不要多做冤枉事,事半功倍才是贏家的秘訣!🚀系統原則:建立清晰的路線圖,就像整理亂七八糟的房間一樣!🏠全面原則:考慮所有相關因素和細節,就像計畫一場完美的旅行!
Thumbnail
👀QUICK REVIEW The book in 3 Sentences 用三段話說明這本書的內容 像管理公司一樣管理自己,像享受遊戲一樣享受生活 硬實力決定起點,軟實力決定能走多快多遠 Learning, Doing, Learning and Teaching Purpose of the
Thumbnail
👀QUICK REVIEW The book in 3 Sentences 用三段話說明這本書的內容 像管理公司一樣管理自己,像享受遊戲一樣享受生活 硬實力決定起點,軟實力決定能走多快多遠 Learning, Doing, Learning and Teaching Purpose of the
Thumbnail
許多人都想改變生活,但卻不知道如何開始。要達成成功,首先必須了解您的目標是什麼,然後將其分解成更小的目標,以便能夠更輕鬆地追求。開始定義目標的第一步是要花時間思考您想要達到的結果。您可以用紙和筆記下您的願望,並確保它們是具體的,明確的,可實現的,以及可以通過您的行動來達成
Thumbnail
許多人都想改變生活,但卻不知道如何開始。要達成成功,首先必須了解您的目標是什麼,然後將其分解成更小的目標,以便能夠更輕鬆地追求。開始定義目標的第一步是要花時間思考您想要達到的結果。您可以用紙和筆記下您的願望,並確保它們是具體的,明確的,可實現的,以及可以通過您的行動來達成
Thumbnail
一流的人,贏在思維。 快速做明智的決策,更清晰地看待問題, 累積思維模型,掌握核心概念。 重要且緊急:立刻執行。 重要但不緊急:安排時間來做。 不重要但緊急,委託別人完成。 不重要也不緊急:取消不做。 思索什麼可能會出差錯, 設想出所有的骨牌效應。 可逆的決策提供行動力。 滿足兩個前提:務實的態度,
Thumbnail
一流的人,贏在思維。 快速做明智的決策,更清晰地看待問題, 累積思維模型,掌握核心概念。 重要且緊急:立刻執行。 重要但不緊急:安排時間來做。 不重要但緊急,委託別人完成。 不重要也不緊急:取消不做。 思索什麼可能會出差錯, 設想出所有的骨牌效應。 可逆的決策提供行動力。 滿足兩個前提:務實的態度,
Thumbnail
對學習工作我們可能都會有一套自己的方法,但對於自我成長卻沒有人教我們該怎麼做 1.成為蒐集者 2.找出差異 3.以藍圖的方式思考 4.不要模仿,要加以演變 5.接納願景與能力的落差 6.選擇性計分 7.去除冒險當中的風險 8. 對於舒適的感受抱持懷疑 9. 駕馭未來與過去 10.提出明智的問題
Thumbnail
對學習工作我們可能都會有一套自己的方法,但對於自我成長卻沒有人教我們該怎麼做 1.成為蒐集者 2.找出差異 3.以藍圖的方式思考 4.不要模仿,要加以演變 5.接納願景與能力的落差 6.選擇性計分 7.去除冒險當中的風險 8. 對於舒適的感受抱持懷疑 9. 駕馭未來與過去 10.提出明智的問題
Thumbnail
每個人都有想要達成的目標,有些目標看起來很遙遠,很想達成,知道建立習慣可以幫助自己達成目標,但總是在還沒養成習慣之前就鬆手了; 究竟要花多久時間才能建立新的習慣呢? 其實大家應該要問的是要做多少次才能建立新習慣? 習慣養成最重要不是時間,是次數!
Thumbnail
每個人都有想要達成的目標,有些目標看起來很遙遠,很想達成,知道建立習慣可以幫助自己達成目標,但總是在還沒養成習慣之前就鬆手了; 究竟要花多久時間才能建立新的習慣呢? 其實大家應該要問的是要做多少次才能建立新習慣? 習慣養成最重要不是時間,是次數!
Thumbnail
『所有大事都源自微小的開端。』 書中的這句話讓我想起了出社會工作後的其中一段經歷,我本身是一名網頁視覺設計師,在畫了幾年的layout之後,慢慢地開始想要寫程式,一方面是因為想要一條龍把專案做完,另一方面則是希望在接案上能有更多的選擇。
Thumbnail
『所有大事都源自微小的開端。』 書中的這句話讓我想起了出社會工作後的其中一段經歷,我本身是一名網頁視覺設計師,在畫了幾年的layout之後,慢慢地開始想要寫程式,一方面是因為想要一條龍把專案做完,另一方面則是希望在接案上能有更多的選擇。
Thumbnail
哲學家塞內卡 (Seneca) 在他的《On The Happy Life》,列出了許多幸福生活的準則,因為每個人都希望生活得更好。Ryan Holiday 以古哲學家智慧為底,加上自己的研究和經驗,列出了 100 條 (簡短) 規則,能讓我們的生活變得更好。
Thumbnail
哲學家塞內卡 (Seneca) 在他的《On The Happy Life》,列出了許多幸福生活的準則,因為每個人都希望生活得更好。Ryan Holiday 以古哲學家智慧為底,加上自己的研究和經驗,列出了 100 條 (簡短) 規則,能讓我們的生活變得更好。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News