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. 20169219《linux内核原理与分析》第九周作业

    网易云课堂学习 可执行程序的装载 可执行程序的产生过程:预处理-----> 编译 ----> 汇编 ----> 链接 以hello.c文件为例进行分析,编译步骤如下 vi hello ...

  2. No module named 'numpy.core._multiarray_umath'

    问题:基于anaconda prompt 安装好TensorFlow框架以后,引入的时候(import tensorflow as tf)报如下图片的错误: 回答:网上好多人说是需要升级numpy,我 ...

  3. 算法训练 最大的算式(DP)

    问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...

  4. winform datagridview不显示滚动条

    datagridview 数据行数已经超出表格显示范围了,为什么右侧没有滚动条呢? 这个其实不是DataGridView的问题,实际上滚动条是出现了的,但被其他东西挡住了.如果网格是放在panel上的 ...

  5. tomcat8性能优化

    在tomcat/catalina.sh中加入下面的配置,内存要根据机器实际情况配置,如果配置内存太大了有可能机器很慢. JAVA_OPTS="-server -Xms512m -Xmx512 ...

  6. Leetcode 91. Decode Ways 解码方法(动态规划,字符串处理)

    Leetcode 91. Decode Ways 解码方法(动态规划,字符串处理) 题目描述 一条报文包含字母A-Z,使用下面的字母-数字映射进行解码 'A' -> 1 'B' -> 2 ...

  7. 数据结构20:KMP算法(快速模式匹配算法)详解

    通过上一节的介绍,学习了串的普通模式匹配算法,大体思路是:模式串从主串的第一个字符开始匹配,每匹配失败,主串中记录匹配进度的指针 i 都要进行 i-j+1 的回退操作(这个过程称为“指针回溯”),同时 ...

  8. uwsgi01---uwsgi文件

    1. 安装 pip install uwsgi //测试uWSGI是否安装成功 在终端中输入以下命令查看uwsgi的版本:uwsgi --version 2.简单运行 运行uwsgi:uwsgi -- ...

  9. 3. mybatis # 与 $ 的区别

    mybatis # 与 $ 的区别 1.# % 号必须写在test中 应用场景:模糊查询 配置文档mapper.xml <select id="selectBlogByTitle&qu ...

  10. git学习--clone和pull

    clone:从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库.(clone是将一个库复制到你的本地,是一个本地从无到有的过程) pull:从远程服务器获取到一个branch分支的更新到本 ...