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
http://www.qytang.com/cn/list/28/446.htm
http://www.qytang.com/cn/list/28/445.htm
http://www.qytang.com/cn/list/28/444.htm
http://www.qytang.com/cn/list/28/442.htm
http://www.qytang.com/cn/list/28/440.htm
http://www.qytang.com/cn/list/28/437.htm
http://www.qytang.com/cn/list/28/435.htm
http://www.qytang.com/cn/list/28/434.htm
http://www.qytang.com/cn/list/28/433.htm
http://www.qytang.com/cn/list/28/431.htm
http://www.qytang.com/cn/list/28/328.htm
http://www.qytang.com/cn/list/28/326.htm
http://www.qytang.com/cn/list/28/429.htm
http://www.qytang.com/
http://www.qytang.com/cn/list/29/
Python代码规范利器Flake8的更多相关文章
- flake8(代码规范利器)
flake8(代码规范利器) 概述 flake8是下面三个工具的封装: 1)PyFlakes 2)Pep8 3)NedBatchelder’s McCabe script Flake8的下载地址:ht ...
- 老李分享:pep8 python代码规范
老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...
- python代码规范与标准库参考
python代码规范与标准库参考 python代码规范参考文献: http://www.runoob.com/w3cnote/google-python-styleguide.html https:/ ...
- Python代码规范问题及解决
Python代码规范问题及解决 为了养成使用Python编程好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8 只是 ...
- Python代码规范之---代码不规范,亲人两行泪
任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步! 关于代码规范 Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档 其中第 8 篇 ...
- Python代码规范(PEP8)问题及解决
转载:https://blog.csdn.net/Jason_Lewis/article/details/75386598 最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代 ...
- Python代码规范
一:背景 用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护 二:python风格规范 分号:不要在行尾加分号,也不要用分号将两条命令放在同一行 括号:宁 ...
- python代码规范整理
规范参考源: 1.pep8(python代码样式规范):中文文档 https://blog.csdn.net/ratsniper/article/details/78954852 2.pep ...
- python代码规范 自动优化工具Black
自动优化工具Black 在众多代码格式化工具中,Black算是比较新的一个,它***的特点是可配置项比较少,个人认为这对于新手来说是件好事,因为我们不必过多考虑如何设置Black,让 Black 自己 ...
随机推荐
- JSONUtils的几个常用方法
1.首先新建1个JSONUtils类 public class JSONUtils { /** * * @author wangwei JSON工具类 * @param * */ /*** * 将Li ...
- LogUtils日志管理工具
public class LogUtils { public static final int VERBOSE = 1; public static final int DEBUG = 2; publ ...
- struts2学习(12)struts2验证框架2.自定义验证
一.例子需求: 对敏感词进行验证: 将struts包中的validators.xml文件拷贝一份到src目录下,在最后面添加自己的验证器: com.cy.validators.SensitiveWor ...
- Appium ios新的定位方式FindsByIosNSPredicate (没有试 先记录在这里) 有个 driver.find_element_by_ios_uiautomation() 研究下 ios的定位
这个定位方式需要用java-client -5.0.版本,4.x的版本没有这个定位方式 //输入账号和密码 driver.findElementByIosNsPredicate("value ...
- 一张图看懂高通QC1.0-QC4.0快充进化之路!QC2.0跟QC3.0充电区别
快充技术日新月异,快充市场百家争鸣的今天,高通QC快充依然主导着市场.如今QC快充已发展到第四代,每一代都有着革命性的进步.从QC1.0到QC4.0更新换代时间之短,不免让广大人民群众抱怨. “啥?老 ...
- ubuntu16.04让内核编译一次过的方法
问题: 进入内核后,发现make menuconfig 出错,而且在在网上找到的一些安装包,安装结束后,发现make menuconfig后的图形界面虽然出来了,但是图形界面里的内容没有出来! 解决方 ...
- Java垃圾回收机制和内存分配
收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现 自动内存管理解决的是:给对象分配内存 以及 回收分配给对象的内存 为什么我们要了解学习 GC 与内存分配呢? 在 JVM 自动内存管理机制的 ...
- 【洛谷】P1388 算式(dp)
题目描述 给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号.例如: N ...
- vim批量在文件每行添加内容以及查询cloudstack模板是否是增量
一.接着上文(更改cloudstack二级存储),从cloud数据库里查出的所有模板名称以及模板位置语句 SELECT tpl.`name`,img.id, img.`url`,tplref.`ins ...
- Console2支援中文顯示的正式設定法
1.用regedit找到HKEY_CURRENT_USER\Console,把底下的Console2 command window機碼給砍了.2.Console2的View功能表中,有個Console ...