上周看到一個招Python工程師的要求,其中有一條就是要求代碼符合PEP8標准。
PEP8標准之前就聽說過,是Python官方推薦的一個代碼標准。並不是強制要求,只是推薦大家使用,增加代碼可讀性。
因為我的代碼一直都是自己寫自己看,所以也就沒有考慮PEP8。不過看到這個招聘要求,感覺自己還是應該學習一下,畢竟以后代碼會有別人看,規范一點方便自己也方便他人嘛。
一、PEP8標准
首先了解一下什么是PEP8標准吧。
點擊這里可以查看官方的PEP8詳細要求。是英文版,大家如果閱讀起來比較吃力的話可以自己去搜中文版。
看完標准之后,大家會發現,具體細節要求非常多。。。對於一個初次接觸PEP8標准的人來說,如果只靠自己的判斷來修改的話不僅不准確而且效率很低,所以我們自然就想到了使用插件。
二、安裝及配置Python Flake8 Lint插件
我使用的是sublime text 2,這個編輯器挺對我胃口的,所以就去github上找了一下sublime text 2上的PEP8插件。找了有兩三個吧,最后准備使用:
下面就說一下安裝步驟吧。
首先,點擊頁面中的按鈕下載ZIP壓縮包,然后解壓並把文件夾的名字改為:Python Flake8 Lint 。
改完名之后,按照你使用的系統把這個文件夾復制到對應的路徑里:
- OS X:
~/Library/Application Support/Sublime Text 2/Packages/
- Linux:
~/.config/sublime-text-2/Packages/
- Windows:
%APPDATA%/Sublime Text 2/Packages/
我用的是mac,所以就復制到“~/Library/Application Support/Sublime Text 2/Packages/
”這個目錄當中。
復制好之后,打開st2,點擊"Preferences" -> "Package Settings" -> "Python Flake8 Lint" -> "Settings - Default",會自動打開一個文件。我們把這個文件的內容全選然后復制,然后打開"Preferences" -> "Package Settings" -> "Python Flake8 Lint" -> "Settings - User",會自動打開一個空文件,我們把剛才復制的內容粘貼進去,這時候就可以進行設置了。
具體的設置我就不介紹了,大家看注釋就明白了,我說一下ignore這項吧。
因為我不太贊同PEP8里關於一行不超過79個字符的規定,所以我決定忽略這條規則。於是我在ignore后面的[]中加上對應的編號W191(后面講如何獲取編號),這時代碼變成了 "ignore": ["W191"], 保存之后就可以生效了。
對了,因為不需要flake8的檢測,所以我把"pyflakes": false,這個設置成了false。
三、插件的使用
插件的使用很簡單,有兩種方式觸發。第一種是保存的時候會自動觸發,第二種是按下“ctrl+花鍵+8(mac)”或者“ctrl+alt+8”來觸發。
觸發之后會自動檢測代碼,如果有不符合PEP8的地方會出現一個列表框,如圖:
大家可以看到中間那個列表框就是錯誤信息。
前面說到一行79個字符對應的編號是W191,這里就要揭秘這個編號是怎么來的了。
其實很簡單,大家看列表框里錯誤信息的開頭,看到了吧~~~那個就是對應的編號。
你想忽略哪一條就把對應的編號加入到ignore里就可以了。
如果大家對錯誤信息不是很清楚的話可以結合PEP8標准來看,基本上信息已經很清楚了,照着改就好了。
還有一個小技巧:點擊錯誤信息會自動跳轉到那一行。
四、總結
這個插件還是挺好用的,挺方便。
我安裝上之后,用了一個小時時間把我的浪漫1點的Python代碼全部改成了符合PEP8標准的代碼,感覺看起來確實舒服了很多。
以后的Python項目准備全部符合PEP8標准。