Video thumbnail for The 3 Laws of Writing Readable Code

寫出易讀程式碼的3大定律:告別嵌套、重複、混亂命名

Summary

Language:

Quick Abstract

想寫出更容易閱讀的程式碼嗎?本摘要將深入探討三個程式碼可讀性的重要法則,協助你提升程式碼品質,讓維護和協作更輕鬆。我們將著重於簡化程式碼結構,避免程式碼重複,並採用清晰的命名規範,讓你不再寫出只有自己看得懂的程式碼。掌握這些技巧,讓你的程式碼更易於理解、維護和協作。

  • 快速重點:

    • 避免過度巢狀結構:透過反轉條件、合併相關判斷等方法減少巢狀,讓程式碼邏輯更清晰。

    • 消除程式碼重複:將重複的程式碼提取為獨立的函式,提高可維護性,減少錯誤發生的可能性。

    • 使用有意義的命名:避免使用只有自己能理解的命名,採用清晰、描述性的命名方式,方便他人理解程式碼意圖。

撰寫易讀程式碼的三大法則

程式碼的可讀性至關重要,它影響著程式碼的維護、擴展和團隊協作。經驗不足的開發者經常會寫出難以閱讀的程式碼。本文將介紹三個提升程式碼可讀性的法則,幫助你寫出更清晰易懂的程式碼。

法則一:避免過度巢狀結構

巢狀結構的缺點

經驗不足的開發者常犯的錯誤之一就是撰寫深度巢狀的程式碼。 這種邏輯難以理解,因為在閱讀每一層級時,都需要將允許我們深入巢狀結構的條件記在腦海中。 當你到達核心邏輯時,你的大腦可能已經達到其容量的極限,但你仍然需要理解核心邏輯,同時考慮你已經記在腦海中的事情。

如何簡化巢狀結構

為了解決這個問題,撰寫易讀程式碼的第一個法則就是避免深度巢狀結構。 我們可以通過以下幾種方式簡化程式碼:

  • 反轉條件 (Inversion): 我們可以反轉條件,例如,如果不是維護期間才執行內部邏輯,我們可以改為,如果是維護期間,則不進行下一步。 這樣可以將巢狀結構減少一層。

  • 合併相關的 If 語句: 如果兩個 if 語句相關,例如檢查使用者是否已驗證和檢查使用者是否已授權,它們都是與身份驗證相關的驗證,我們可以將它們合併。 請注意,這樣做會失去日誌訊息的一些精細度。

巢狀結構簡化的優點

現在,閱讀你程式碼的人會發現,他們不再需要在閱讀核心邏輯時將這些條件記在腦海中。 他們只需知道,如果程式碼已執行到某個點(例如此處),則不再需要考慮先前的程式碼。 他們可以將其從腦海中拋棄,然後專注於下一個程式碼區塊。

提取 (Extraction)

  • 複雜邏輯提取: 提取一些複雜的邏輯到其自己的方法或函數中。

  • 具描述性的命名: 給這些函數或方法一個具描述性的名稱。

法則二:避免程式碼重複

重複程式碼的缺點

假設你的程式碼包含多個具有相同功能的函數。 如果你需要修改這個功能(例如,移除快取行為),你需要在多個地方進行修改,這很容易遺漏。 這就是程式碼重複帶來的問題。

如何避免程式碼重複

為了解決這個問題,撰寫易讀程式碼的第二個法則就是避免程式碼重複。 我們可以將重複的程式碼提取到一個共用的函數中,然後在需要的地方呼叫這個函數。

避免程式碼重複的優點

現在,閱讀你程式碼的人只需要修改單個共用點。 這也使程式碼不那麼複雜,進而使其更具可讀性。

法則三:使用有意義的命名

命名問題的嚴重性

想像一段程式碼,它的變數、函數和類別名稱都是無意義的縮寫或只有作者才懂的術語。 這樣的程式碼幾乎無法閱讀和理解。

如何使用有意義的命名

為了解決這個問題,撰寫易讀程式碼的第三個法則就是不要使用只有你才懂的命名。 確保你的命名是清晰、簡潔和有意義的,以便其他人可以輕鬆理解你的程式碼。

  • 遵循命名慣例: 存在許多不同的命名慣例,但是只要你嘗試遵循一些命名慣例,並且記住你使用的名稱對於程式碼的潛在讀者應該是有意義的,那麼你就不會犯太大的錯誤。

有意義的命名的優點

如果我們簡單地修改這段程式碼,使其具有更具意義的名稱,那麼很明顯這段程式碼實際上試圖做什麼。 就這麼簡單。

總結

這就是撰寫易讀程式碼的三個法則。 遵循這些法則可以大大提高你的程式碼的可讀性,使其更容易維護、擴展和協作。

Was this summary helpful?

Quick Actions

Watch on YouTube

Related Summaries

No related summaries found.

Summarize a New YouTube Video

Enter a YouTube video URL below to get a quick summary and key takeaways.