寫程式碼其實是需要規範的,團隊中更是如此;不然 Google 也不會發佈各種編碼規範,耳熟能詳的有Google C++ 風格指南,Google Python 風格指南,等等。
這些規範有用嗎?有用也沒用,除非你腦子好使,一邊 coding,一邊將規範運用的發紫;否則我們終須還是需要一種工具來做這件事情。還好python 不只一種工具幫我們做這件事。話休絮煩,切正題。
Pylint
使用過,變態到發紫;不知道誰那麼無聊,將規則定的那麼死,我們 pythoner 能快樂嗎?乃們不見 rubyer,Matz 倡導的是什麼? Happy Coding 有木有? 所以用過就仍了,因為我不需要這麼變態的搞,無愛~ 如果你要安裝,也很簡單:
Pep8
顧名思義,來自於Phonyt 社區著名的PEP 8。基本上寫程式碼按這個就對了,但是這還不夠完美;安裝如下:
easy_install pep8 // maybe nedd root
Pyflakes
,據作者說比較快,不夠強大,但還可以~
easy_install pyflakes // maybe nedd root
Flake8
主角登場了,這是我推薦的,其實這哥們是集大成者,是以下三個工具的包裝:
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寫的很清楚:http://flake8.readthedocs.org/en/latest/vcs.html#git-hook。 如果你的 pre-commit 腳本已經有了規則,也沒事,在 shell 中呼叫 python 吧。
如果你也喜歡vim
作為兩大神器之一的vim,自然要有插件來享受以上工具的:
nvie/vim-flake8
vim-scripts/pylint.vim-scripts到上面的列舉,你應該會知道我在說什麼了,沒錯,用vundle 安裝:
如果你真的不知道vundle,那麼是時候使用她了:://github /vundle。如果你嫌這一切都麻煩,直接用我的vimrc 吧,在這裡:
git clone https://github.com/icocoa/icocoa-vimrc.git --recursive vimrc // icocoa is my another account in GitHub