Python代碼規範利器Flake8

來源:互聯網
上載者:User
寫代碼其實是需要規範的,團隊中更是如此;不然 Google 也不會發布各種編碼規範,耳熟能詳的有Google C++ 風格指南,Google Python 風格指南,等等。

這些規範有用嗎?有用也沒用,除非你腦子好使,一邊 coding,一邊將規範運用的發紫;否則我們終須還是需要一種工具來做這件事情。好在python 不止一種工具幫我們做這件事。話休絮煩,切正題。

Pylint

使用過,變態到發紫;不知道誰那麼無聊,將規則定的那麼死,我們 pythoner 能快樂嗎?乃們不見 rubyer,Matz 倡導的是什嗎? Happy Coding 有木有? 所以用過就仍了,因為我不需要這麼變態的搞,無愛~ 如果你要安裝,也很簡單:

easy_install pylint // maybe nedd root

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

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.