Metadata-Version: 2.0
Name: hacking
Version: 0.10.2
Summary: OpenStack Hacking Guideline Enforcement
Home-page: http://github.com/openstack-dev/hacking
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Requires-Dist: pbr (>=0.11,<2.0)
Requires-Dist: pep8 (==1.5.7)
Requires-Dist: pyflakes (==0.8.1)
Requires-Dist: flake8 (==2.2.4)
Requires-Dist: mccabe (==0.2.1)
Requires-Dist: six (>=1.7.0)

Introduction
============

hacking is a set of flake8 plugins that test and enforce the `OpenStack
Style Guidlines <http://docs.openstack.org/developer/hacking>`_.

Installation
============

hacking is available from pypi, so just run:

``pip install hacking``

This will install ``flake8`` with the ``hacking`` and ``pyflake`` plugins

Origin
======

Most of the additional style guidelines that OpenStack has taken on came from
the Google Python Style Guide.

- http://google-styleguide.googlecode.com/svn/trunk/pyguide.html

Since then, a few more OpenStack specific ones have been added or modified.

Versioning
==========

hacking uses the major.minor.maintenance release notation, where maintenance
releases cannot contain new checks. This way projects can gate on hacking
by pinning on the major.minor number while accepting maintenance updates
without being concerned that a new version will break the gate with a new
check.

Adding additional checks
========================

Each check is a pep8 plugin so read

- https://github.com/jcrocholl/pep8/blob/master/docs/developer.rst#contribute

The focus of new or changed rules should be to do one of the following

- Substantially increase the reviewability of the code (eg: H301,2,3
as they make it easy to understand where symbols come from)
- Catch a common programming error that may arrise in the future (H201)
- Prevent a situation that would 100% of the time be -1ed by
developers (H903)

But, as always, remember that these are Guidelines. Treat them as
such. There are always times for exceptions. All new rules should
support noqa.

H903的更多相关文章

  1. maven 生成可执行的jar文件

    微服务的热潮,慢慢讲jar引入了码农的视线之中,从传统web开发中过来的人面对这个东西也算是个新鲜事了,接下来聊一聊在maven下生成可运行jar的那些事. Maven可以使用mvn package指 ...

随机推荐

  1. [学习笔记]scanf弊端以及解决方案

    #include<stdio.h> #include<stdlib.h> #include<unistd.h> int main(void) { ]; //mems ...

  2. jQuery 插件开发——GridData(表格)第二版

    开发背景 表格插件之前我也写个一篇,当时写那个插件的时候,我自己还没有总结出写插件的方法,虽然功能实现了,但是使用起来还是有点别扭的,并且需要在调用写添加特定名称的方法,这个地方着实违背了开发插件的易 ...

  3. 关于文本PDG的字体

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 有不少人在问为什么有些文本PDG在SSREADER里看到的是宋体,在Acobat里看到的是黑体,其实原因 ...

  4. [转]Marshaling a SAFEARRAY of Managed Structures by P/Invoke Part 4.

    1. Introduction. 1.1 In parts 1 through 3 of this series of articles, I have thoroughly discussed th ...

  5. mysql 远程登录与表名大小写问题

    好久没写博客了,这段时间在学习一个开源的项目,里面使用到了mysql,好久没使用mysql了.在使用过程中遇到了一个问题,远程登陆.报错信息很明显,连接失败.解决思路如下: 1. 首先检查到服务器网络 ...

  6. 【探讨】linux环境,执行重启了php后php.ini依然不生效

    背景: 一个linux环境配置了多个php版本的环境,同时修改了多个php.ini,执行service php-fpm restart 之后,依然不生效 原因: 没有设置好启动php.ini 参考链接 ...

  7. Nodejs 文档概览

    Node.js v8.11.1 Node.js v8.11.1 文档 今天大致浏览了一下Node.js的官方文档,走马观花的了解了大部分模块的api,对他们的使用场景做一个简单的笔记 assert 断 ...

  8. 1、OpenCV Python 图像加载和保存

    __author__ = "WSX" import cv2 as cv # 这里的文件是图片或者视频 def Save_File( image ): cv.imwrite(&quo ...

  9. opencv-视频分解图片

    1.加载视频2. info信息 3. 解码,parse方法解析视频 4. imshow展示或者保存imread # 视频分解图片 # 1 load 2 info 3 parse 4 imshow im ...

  10. JS执行顺序-函数声明提升、匿名函数、函数表达式

    大方向上: JS 是按照 代码块 进行 编译.执行 的. 学习至: 1.变量声明提升 2.新唐的博客 3.js中匿名函数的创建与调用方法分析 4.前端圣经 - <高程三> 5.深入理解变量 ...