寫代碼實際上是須要規範的,團隊中更是如此;否則 Google 也不會發布各類編碼規範,耳熟能詳的有Google C++ 風格指南,Google Python 風格指南,等等。php
這些規範有用嗎?有用也沒用,除非你腦子好使,一邊 coding,一邊將規範運用的發紫;不然咱們終須仍是須要一種工具來作這件事情。好在python 不止一種工具幫咱們作這件事。話休絮煩,切正題。html
Pylintpython
使用過,變態到發紫;不知道誰那麼無聊,將規則定的那麼死,咱們 pythoner 能快樂嗎?乃們不見 rubyer,Matz 倡導的是什麼? Happy Coding 有木有? 因此用過就仍了,由於我不須要這麼變態的搞,無愛~ 若是你要安裝,也很簡單:git
<php>easy_install pylint // maybe nedd root</php>github
Pep8shell
顧名思義,來自於 Python 社區著名的 PEP 8。基本上寫代碼按這個就對了,可是這還不夠完美;安裝以下:vim
easy_install pep8 // maybe nedd rootruby
Pyflakesapp
Python 程序被動檢測工具,還真夠被動的,據做者說比較快,不夠強大,可是還能夠~工具
easy_install pyflakes // maybe nedd root
Flake8
主角登場了,這是我推薦的,可是並不影響其餘人喜歡 pylint。其實這哥們是集大成者,是如下三個工具的包裝:
PyFlakes
Pep8
Ned Batchelder’s McCabe script
好處不說了,關鍵是可擴展的,這兒說的很清楚了:https://pypi.python.org/pypi/flake8/2.0。安裝以下:
easy_install flake8 // maybe nedd root
若是你跟我同樣喜歡 Git 這丫,那麼你也是 pyhoner,那麼還有福利,將以下的代碼寫入 .git/hooks/pre-commit:
#!/usr/bin/env python
import sys
from flake8.hooks import git_hook
COMPLEXITY = 12
STRICT = True
代碼就不解釋了,官方文檔寫的很清楚:http://flake8.readthedocs.org/en/latest/vcs.html#git-hook。 若是你的 pre-commit 腳本已經有了規則,也沒事,在 shell 中調用 python 吧。
若是你也喜歡 vim
做爲兩大神器之一的 vim,天然要有插件來享受以上工具的:
nvie/vim-flake8
vim-scripts/pylint.vim
看到上面的列舉,你應該會知道我在說什麼了,沒錯,用 vundle 安裝:
" Flake8 plugin for Vim.
Bundle 'nvie/vim-flake8'
" compiler plugin for python style checking tool.
Bundle 'vim-scripts/pylint.vim'
autocmd FileType python compiler pylint
若是你真的不知道 vundle,真的是時候使用她了:https://github.com/gmarik/vundle。若是你嫌這一切都麻煩,直接用個人 vimrc 吧,在這裏:
git clone https://github.com/icocoa/icocoa-vimrc.git --recursive vimrc // icocoa is my another account in GitHub
原文來源:https://m.pythontab.com/article/941
做者:www說 連接:http://www.imooc.com/article/51227 來源:慕課網