您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關給Python代碼命名的的規范的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
1、拒絕通用詞
(1)寫代碼的時候,不管是全局變量還是局部變量,都應該避免使用 'list'、'dict'、'elements' 等詞作為變量名,它們會使代碼變的難以閱讀、理解。
(2)像 'abs'、'str'、'eval' 等內置函數也應該避免使用,防止出現在當前命名空間中被屏蔽的尷尬情況。
(3)一些列的前綴和后綴。雖然在編程中非常常見,但事實上應該避免出現在函數和類名稱中,比如 'object'、'handle'、'do' 等詞,這樣做的原因是它們的含義模糊,摸棱兩可,并且沒有向實際名稱中添加任何信息。
(4)許多包的名稱都應該被避免,諸如 'tools'、'utils'、'core' 的名稱很大可能會變成一大堆不相關的、質量非常差的代碼片段,雖然它們在名稱上并沒有本質的錯誤,但為了防止問題的出現,還是直接將其作為自己自定義包的命名扼殺在萌芽狀態為好。
2、使用專業術語
這個算是 0x00 的延申,拒絕通用詞,相反的使用特定領域特定的專業術語,比如下面的代碼:
def calculation(datas): for data in datas: yield data ** 2
這部分代碼的命名就有些問題,比如函數名 calculation 是計算的意思,計算分很多種,到底計算什么呢?這樣很不直觀,如果是換成下面這樣:
def squares(numbers): for number in numbers yield number ** 2
這種的命名就比第一種清晰明了很多。
3、用 'has' 或 'is' 前綴命名 bool 元素
對于保存布爾值的變量,對其命名的時候將 'has' 或 'is' 作為其前綴,可以使它們在代碼中的可讀性更強:
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 編碼風格,使它已經成為了事實上的代碼風格標準。
感謝各位的閱讀!關于給Python代碼命名的的規范就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。