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

更新於 2022/03/18閱讀時間約 4 分鐘
本文翻譯自 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
37會員
31內容數
短篇奇幻作品將不定期更新。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Ray C的沙龍 的其他內容
時代在進步,技術也在進步,現代前端框架這麼多,我們該如何選擇?
在負利率時代,存錢不如存股的 4 大滾雪球投資法
搞清楚 Git 與 GitHub 的差別並學會必會操作 什麼是 Git? Git 是一個軟體,可藉由它產生一個數據庫(repository),並且做到分散式版本控制。由於可在多處放置同一份程式碼、歷史紀錄追蹤與回朔,讓協同開發變得容易。(關於不同版本控制系統的介紹,請參閱 Git 官方教學文件)
上面的圖示清楚表示了網站體系架構。如果你不是經驗豐富的網頁開發人員,可能會覺得它很複雜。在我們深入探究每個部分之前,下面的描述應該會讓我們更容易上手。
《魔物獵人 2G》可以說是魔物獵人的經典代數之一,你是否聽到波凱村的背景音樂就如同回到家一般呢?這篇告訴你在 2019 年仍可和朋友順利連線遊玩《魔物獵人 2G》的方法。
❑ 無須預測未來、注意週期就能獲利 巴菲特曾經說過:「長久下來,市場會出現離奇、甚至怪異的現象。一個大錯很可能會磨滅長期累積的成就,因此我們需要本能上即可識別重大風險的人,包括從未遭遇的風險。」塔雷伯的《隨機致富》尤其講述對於不確定性應對的重要。
時代在進步,技術也在進步,現代前端框架這麼多,我們該如何選擇?
在負利率時代,存錢不如存股的 4 大滾雪球投資法
搞清楚 Git 與 GitHub 的差別並學會必會操作 什麼是 Git? Git 是一個軟體,可藉由它產生一個數據庫(repository),並且做到分散式版本控制。由於可在多處放置同一份程式碼、歷史紀錄追蹤與回朔,讓協同開發變得容易。(關於不同版本控制系統的介紹,請參閱 Git 官方教學文件)
上面的圖示清楚表示了網站體系架構。如果你不是經驗豐富的網頁開發人員,可能會覺得它很複雜。在我們深入探究每個部分之前,下面的描述應該會讓我們更容易上手。
《魔物獵人 2G》可以說是魔物獵人的經典代數之一,你是否聽到波凱村的背景音樂就如同回到家一般呢?這篇告訴你在 2019 年仍可和朋友順利連線遊玩《魔物獵人 2G》的方法。
❑ 無須預測未來、注意週期就能獲利 巴菲特曾經說過:「長久下來,市場會出現離奇、甚至怪異的現象。一個大錯很可能會磨滅長期累積的成就,因此我們需要本能上即可識別重大風險的人,包括從未遭遇的風險。」塔雷伯的《隨機致富》尤其講述對於不確定性應對的重要。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
電商百問第40集,告訴你做電商該不該租小倉庫,讓你日進斗金、賺錢如有神助。我們在【電商百問39】做電商該租倉庫嗎?3個電商倉儲被重視的原因+4個挑選重點,幫你判斷需不需要租倉庫中有提到你該如何思考自己該不該租倉庫,那如果你確定要租倉庫,又要如何找到適合你的倉庫呢?在回答之前,應該要先想一下你租倉庫
Thumbnail
侵占罪章刑法第335條 意圖為自己或第三人不法之所有,而侵占自己持有他人之物者,處五年以下有期徒刑、拘役或科或併科一千元以下罰金。 前項之未遂犯罰之。 刑法第336條 對於公務上或因公益所持有之物,犯前條第一項之罪者,處一年以上七年以下有期徒刑,得併科五千元以下罰金。 對於業務上所持有之物,犯前
身為60世代後的自己,最近看了一部話題正夯的台劇第二部,劇中主角們生動的演技,著實讓我們看了之後心有戚戚焉,彷彿進入了小時候,還有女主角從小到大,心境的轉變,還有為了自己人生下半場的努力與困惑。 自己的經歷跟女主角彷彿有些相似,同樣都曾在大公司上班,只不過不同的是:自己在45歲正值事業高峰期的時間
Thumbnail
然而等待並非如此,等待是一種累積與匯聚,在等待中我們會有各種加法與減法,褪下沒必要且厚重複雜的,篩去阻礙的,並以細小的累積慢慢前進,直到某種表意識尚未跟進的能量,融合成一件具體可見的目標,然後腦袋才進來鋪展計畫,讓我們按步就班的實現。 所以我突然意識到,為什麼在人類圖系統裡,91%的人都需要等待。
Thumbnail
使用iphone多年從來沒注意過那顆紫色按鈕,點進去之後才發現原來藏著另一個世界。又多了一個練習日文的工具,太棒啦!(非ios用戶有其他收聽方式可以收聽)
Thumbnail
棒球迷應該都知道,歷史悠久的新竹棒球場已經默默陪伴新竹人走過近四十個年頭。一度風光的新竹球場如今飽受批評,因整修、市府的棒球政策和立委選戰而再次登上新聞版面。究竟我們該如何面對「一座有傳統的球場」?
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
電商百問第40集,告訴你做電商該不該租小倉庫,讓你日進斗金、賺錢如有神助。我們在【電商百問39】做電商該租倉庫嗎?3個電商倉儲被重視的原因+4個挑選重點,幫你判斷需不需要租倉庫中有提到你該如何思考自己該不該租倉庫,那如果你確定要租倉庫,又要如何找到適合你的倉庫呢?在回答之前,應該要先想一下你租倉庫
Thumbnail
侵占罪章刑法第335條 意圖為自己或第三人不法之所有,而侵占自己持有他人之物者,處五年以下有期徒刑、拘役或科或併科一千元以下罰金。 前項之未遂犯罰之。 刑法第336條 對於公務上或因公益所持有之物,犯前條第一項之罪者,處一年以上七年以下有期徒刑,得併科五千元以下罰金。 對於業務上所持有之物,犯前
身為60世代後的自己,最近看了一部話題正夯的台劇第二部,劇中主角們生動的演技,著實讓我們看了之後心有戚戚焉,彷彿進入了小時候,還有女主角從小到大,心境的轉變,還有為了自己人生下半場的努力與困惑。 自己的經歷跟女主角彷彿有些相似,同樣都曾在大公司上班,只不過不同的是:自己在45歲正值事業高峰期的時間
Thumbnail
然而等待並非如此,等待是一種累積與匯聚,在等待中我們會有各種加法與減法,褪下沒必要且厚重複雜的,篩去阻礙的,並以細小的累積慢慢前進,直到某種表意識尚未跟進的能量,融合成一件具體可見的目標,然後腦袋才進來鋪展計畫,讓我們按步就班的實現。 所以我突然意識到,為什麼在人類圖系統裡,91%的人都需要等待。
Thumbnail
使用iphone多年從來沒注意過那顆紫色按鈕,點進去之後才發現原來藏著另一個世界。又多了一個練習日文的工具,太棒啦!(非ios用戶有其他收聽方式可以收聽)
Thumbnail
棒球迷應該都知道,歷史悠久的新竹棒球場已經默默陪伴新竹人走過近四十個年頭。一度風光的新竹球場如今飽受批評,因整修、市府的棒球政策和立委選戰而再次登上新聞版面。究竟我們該如何面對「一座有傳統的球場」?