代碼命名規範。不是必須的,可是十分、很是必要的!!!
這邊作一下介紹。編程
1. 拒絕通用詞
一、寫代碼的時候,無論是全局變量仍是局部變量,都應該避免使用 ‘list’、‘dict’、‘elements’ 等詞做爲變量名,它們會使代碼變的難以閱讀、理解。函數
二、像 ‘abs’、‘str’、‘eval’ 等內置函數也應該避免使用,防止出如今當前命名空間中被屏蔽的尷尬狀況。編碼
三、一些列的前綴和後綴。雖然在編程中很是常見,但事實上應該避免出如今函數和類名稱中,好比 ‘object’、‘handle’、‘do’ 等詞,這樣作的緣由是它們的含義模糊,摸棱兩可,而且沒有向實際名稱中添加任何信息。調試
四、許多包的名稱都應該被避免,諸如 ‘tools’、‘utils’、‘core’ 的名稱很大可能會變成一大堆不相關的、質量很是差的代碼片斷,雖然它們在名稱上並無本質的錯誤,但爲了防止問題的出現,仍是直接將其做爲本身自定義包的命名扼殺在萌芽狀態爲好。code
2. 使用專業術語
這個算是 1 部分的延申,拒絕通用詞,相反的使用特定領域特定的專業術語,好比下面的代碼:element
def calculation(datas): for data in datas: yield data ** 2
這部分代碼的命名就有些問題,好比函數名 calculation 是計算的意思,計算分不少種,到底計算什麼呢?這樣很不直觀,若是是換成下面這樣:get
def squares(numbers): for number in numbers yield number ** 2
這種的命名就比第一種清晰明瞭不少。io
3. 用 ‘has’ 或 ‘is’ 前綴命名 bool 元素
對於保存布爾值的變量,對其命名的時候將 ‘has’ 或 ‘is’ 做爲其前綴,能夠使它們在代碼中的可讀性更強:import
is_succeed = True has_cache = False
4. 避免出現上下文中已存在的名稱
不要在代碼中繼續使用已經存在的名稱,這會在閱讀代碼的時候很是使人疑惑,尤爲是在出現 bug 進行單步調試的時候,更是使人抓狂!好比像下面這樣:變量
import os def squares(numbers): for os in numbers: yield os ** 2
上面這個例子中,若是你再使用 os 模塊作其它事情,可能會沒什麼效果。仍是那句話,內置函數名和標準庫的模塊名都應該被避免
5. 集合變量用複數形式命名
若是一個元素是集合變量,那麼使用複數形式是一個很好的辦法,好比像下面這樣:
users = ['Rocky', 'leey']
6. 以 key - value 命名字典名
對於字典來講,它保存的是一個映射關係的數據,那咱們命名就儘可能以映射的雙方來命名,也就是 key 含義 - value 含義,好比:一個字典保存的是學生的成績,那麼能夠將它命名爲 ‘students_scores’:
students_scores = { 'Rocky': 100, 'leey': 60 }
7. 模塊和包的命名
模塊和包的命名應該體現其表達的內容,它們的名稱應該簡短,應該使用小寫字母而且不帶下劃線,一樣還要始終避免與標準庫模塊相同的名稱。
8. 代碼風格
Python 官方給出了一種編碼規範 PEP 8,固然這個只是個標準而已,並無強制要求你們都要去遵照,但又好像大多數人都使用了 PEP 8 編碼風格,使它已經成爲了事實上的代碼風格標準。