JavaScript 中的分號

在 JavaScript 中,分號是可選的。我個人喜歡在我的代碼中避免使用分號,但許多人更喜歡使用它們。 JavaScript 中的分號在社群中存在著分歧。有些人喜歡無論如何都使用分號。其他人則喜歡避免使用它們。 在使用分號多年之後,在2017年秋季,我決定試著根據需要避免使用它們,並且我設置了 Prettier 來自動從我的代碼中移除分號,除非有特定的代碼結構需要它們。 現在我發現避免使用分號是自然的,我認為代碼看起來更好,並且更容易閱讀。 這一切都是因為 JavaScript 不強制要求使用分號。當存在需要分號的地方時,它會在幕後添加分號。 執行這一過程的機制稱為自動分號插入。 了解 JavaScript 自動分號插入的規則非常重要,以避免編寫可能產生錯誤的代碼,因為它並不按照您的期望方式運作。 JavaScript 自動分號插入的規則如下: 當下一行以打破當前行的代碼開始時(代碼可以跨越多行) 當下一行以 } 開始,結束當前的區塊 當到達源代碼文件的末尾 當單獨一行上存在 return 陳述式時 當單獨一行上存在 break 陳述式時 當單獨一行上存在 throw 陳述式時 當單獨一行上存在 continue 陳述式時 以下是一些不會按照您期望的代碼示例: 根據這些規則,這是一個示例: const hey = 'hey' const you = 'hey' const heyYou = hey + ' ' + you ['h', 'e', 'y'].forEach((letter) => console.log(letter)) 你會得到錯誤 Uncaught TypeError: Cannot read property 'forEach' of undefined,因為根據規則1,JavaScript 試圖將代碼解釋為: const hey = 'hey'; const you = 'hey'; const heyYou = hey + ' ' + you['h', 'e', 'y']....

PEP8 Python 格式指南

在撰寫程式碼時,應該遵循所使用的程式語言的慣例。 如果從一開始就學習正確的命名和格式慣例,閱讀別人編寫的程式碼會更容易,而且別人閱讀你的程式碼也會更輕鬆。 Python 在 PEP8 格式指南中定義了自己的慣例。PEP 代表「Python Enhancement Proposals」,這是所有 Python 語言增強和討論的地方。有很多 PEP 提案,都可以在 https://www.python.org/dev/peps/ 找到。 PEP8 是其中一個最早的提案,也是其中一個最重要的。它定義了程式碼的格式,並提供了一些如何以「Pythonic」的方式撰寫 Python 程式碼的規則。 你可以在這裡閱讀完整的內容:https://www.python.org/dev/peps/pep-0008/,但以下是一個快速摘要,可以讓你快速開始: 使用空格縮排,而非使用 TAB 鍵縮排 使用 4 個空格進行縮排 Python 檔案的編碼為 UTF-8 程式碼的每行不要超過 80 個字元 每個陳述式獨立成行 函數、變數名稱和檔案名稱都使用小寫,單字之間使用底線分隔(snake_case) 類別名稱使用大寫開頭,單字之間使用大寫字母分隔(CamelCase) 套件名稱使用小寫,單字之間不使用底線分隔 不應更改的變數(常數)使用大寫 變數名稱應具有意義 添加有用的註解,但避免明顯的註解 在運算子周圍添加空格 不要使用不必要的空白 在函數之前添加一行空白 在類別的方法之間添加一行空白 在函數/方法內部,可以使用空白行將相關的程式碼區塊分隔開來以提高可讀性

Python Docstrings

文檔是非常重要的,不僅可以與其他人溝通函數/類/方法/模塊的目標,也可以幫助自己記住這些知識。 當你6個月或12個月後回到你的代碼時,你可能不記得心中所保存的所有知識,通讀代碼並理解其目的將變得困難得多。 註釋(Comments)是一種方式: num = 1 #這是另一個註釋 另一種方式是使用文檔字符串(docstrings)。 文檔字符串的好處在於它們遵循慣例,因此可以自動處理。 這是如何為函數定義文檔字符串: def increment(n): """增加一個數字""" return n + 1 這是如何為類和方法定義文檔字符串: class Dog: """表示一只狗的類""" def __init__(self, name, age): """初始化一只新狗""" self.name = name self.age = age def bark(self): """讓狗叫""" print('WOF!') 通過在文件頂部放置一個文檔字符串來為模塊進行文檔,例如假設這是dog.py: """狗模塊 這個模塊做...佈拉佈拉佈拉,並提供以下類: - Dog ... """ class Dog: """表示一只狗的類""" def __init__(self, name, age): """初始化一只新狗""" self.name = name self.age = age def bark(self): """讓狗叫""" print('WOF!') 文檔字符串可以跨越多行: def increment(n): """增加 一個數字 """ return n + 1 Python會處理這些文檔字符串,你可以使用help()全局函數來獲取類/方法/函數/模塊的文檔。...