Python代码类型利器Flake8
写代码其实是需要类型的,团队中更是如此;否则 Google 也不会宣布各类编码类型,耳熟能详的有Google C++ 气势气魄指南,Google Python 气势气魄指南,等等。
这些类型有用吗?有用也没用,除非你脑筋好使,一边 coding,一边将类型运用的发紫;不然我们终须照旧需要一种东西来做这件工作。亏得python 不止一种东西帮我们做这件事。话休絮烦,切正题。
Pylint
利用过,失常到发紫;不知道谁那么无聊,将法则定的那么死,我们 pythoner 能快乐吗?乃们不见 rubyer,Matz 建议的是什么? Happy Coding 有木有? 所以用过就仍了,因为我不需要这么失常的搞,无爱~ 假如你要安装,也很简朴:
<php>easy_install pylint // maybe nedd root</php>
Pep8
顾名思义,来自于 Python 社区著名的 PEP 8。根基上写代码按这个就对了,可是这还不足完美;安装如下:
easy_install pep8 // maybe nedd root
Pyflakes
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